【发布时间】:2021-04-24 05:43:12
【问题描述】:
大家好,谁能帮我解析以下 json 响应。
{
"result": "success",
"reason": "Operation completed successfully.",
"api": "authenticate_inmate",
"locked": false,
"payload": {
"authenticated": true,
"inmate_details": {
"jail_alt_id": "9584",
"facility_number": "1047",
"last_name": "ARMSTRONG",
"first_name": "DONALD",
"dob": "19601213",
"middle_name": "LEROY",
"sex": "M",
"account_frozen": "N",
"balance": "122.73",
"pin": "9584",
"location": "HU H 121B",
"macs_menu_id": "1047-2000000369",
"indigent": 0
},
"order_id": "5d1f7c10-833f-0139-4675-3c97e15872c0",
"order_detail": [{
"id": null,
"order_id": "5d1f7c10-833f-0139-4675-3c97e15872c0",
"product_code": "5010",
"quantity": 1
}],
"transaction_history": "\"1/25/21\",\"1.12\",\"Commissary (100301)\"\r\n\"1/25/21\",\"2.11\",\"Commissary (100301)\"\r\n\"1/25/21\",\"1.41\",\"Commissary (100301)\"\r\n\"1/25/21\",\"0.34\",\"Commissary (100301)\"\r\n\"1/25/21\",\"1.41\",\"Commissary (100301)\"\r\n\"1/22/21\",\"16.00\",\"Commissary (100301)\"\r\n\"12/22/20\",\"10.00\",\"Depositor: Testing LastName\"\r\n\"12/21/20\",\"10.00\",\"Deposit Holding Account (100199)\"\r\n\"11/20/20\",\"-1.00\",\"Commissary (100301)\"\r\n\"11/06/20\",\"5.00\",\"Deposit Holding Account (100199)\"\r\n"
}
}
我想获取 inmate_details、订单 ID、订单详情和交易历史。我需要在单个屏幕中显示这些详细信息。我从 json online 生成模型类 & 我尝试改造,但我得到的响应为 null。我在下面添加了我的代码,谢谢
apIservice=ApiClient.getClient().create(APIService.class);
call=apIservice.checkLogin(inmate_id,pin);
call.enqueue(new Callback<Payload>() {
@Override
public void onResponse(Call<Payload> call, Response<Payload> response) {
System.out.println(response);
if (response.isSuccessful()){
Inmate_details balance = response.body().getInmate_details();
pDialog.dismissWithAnimation();
Toasty.success(LoginActivity.this, "Success! Redirecting To Home", Toast.LENGTH_SHORT, true).show();
startActivity(new Intent(LoginActivity.this,PDFActivity.class));
}
}
【问题讨论】:
-
什么是有效载荷?您是否使用 GSON 或 Jackson 等库将 JSON 转换为 Java 对象?因为该功能不是改造的本机部分,所以您需要手动完成或使用类似的库。
-
这是我正在使用的模型类,但所有字段都显示为空,我在我的问题中添加了控制台输出。