如何使用数组改造解析 JSON 对象 [英] How to parse JSON object with array retrofit
本文介绍了如何使用数组改造解析 JSON 对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用android改造获取带有数组的JSON对象.我正在使用改造作为 Web API.
how to fetch JSON object with array using android retrofit. I am using retrofit as web API.
我的 JSON 响应如下:-
My JSON Response is as follows:-
{
"PnrNumber": "12345665",
"Status": "SUCCESS",
"ResponseCode": "200",
"TrainNumber": "1111",
"TrainName": "ABC",
"JourneyClass": "SL",
"ChatPrepared": "NO",
"From": "TEST1",
"To": "TEST2",
"JourneyDate": "2019-10-01",
"Passangers": [
{
"Passenger": "Passenger 1",
"BookingStatus": "CNF/S4/18",
"CurrentStatus": "CNF/S4/18"
},
{
"Passenger": "Passenger 2",
"BookingStatus": "CNF/S4/19",
"CurrentStatus": "CNF/S4/19"
},
{
"Passenger": "Passenger 3",
"BookingStatus": "CNF/S4/24",
"CurrentStatus": "CNF/S4/24"
}
]
}
推荐答案
创建您的 POJO 模型类从json响应
Create your POJO Model class from the json response
Passanger.java
public class Passanger {
@SerializedName("Passenger")
@Expose
private String passenger;
@SerializedName("BookingStatus")
@Expose
private String bookingStatus;
@SerializedName("CurrentStatus")
@Expose
private String currentStatus;
//implement getter,setter
}
TrainData.java
public class TrainData {
@SerializedName("PnrNumber")
@Expose
private String pnrNumber;
@SerializedName("Status")
@Expose
private String status;
@SerializedName("ResponseCode")
@Expose
private String responseCode;
@SerializedName("TrainNumber")
@Expose
private String trainNumber;
@SerializedName("TrainName")
@Expose
private String trainName;
@SerializedName("JourneyClass")
@Expose
private String journeyClass;
@SerializedName("ChatPrepared")
@Expose
private String chatPrepared;
@SerializedName("From")
@Expose
private String from;
@SerializedName("To")
@Expose
private String to;
@SerializedName("JourneyDate")
@Expose
private String journeyDate;
@SerializedName("Passangers")
@Expose
private List<Passanger> passangers = null;
//implement getter, setter
}
改造api接口
public interface Api {
@GET("/your_api_endpoint")
Call<TrainData> retriveTrainData();
}
提出请求
Call<TrainData> call = getRetrofitInstance().create(Api.class).retriveTrainData();
call.enqueue(new Callback<TrainData>() {
@Override
public void onResponse(Call<TrainData> call, Response<TrainData> response) {
if(response.isSuccessful()) {
response.body().getPassangers();
//...
}
}
@Override
public void onFailure(Call<TrainData> call, Throwable t) {
//..
}
});
网上有很多资源,更多详情可以阅读以下文章
There are plenty of resources online, for more details you can read the following articles
这篇关于如何使用数组改造解析 JSON 对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文