如何使用refrofing解析数组中的对象

nwo49xxi  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(260)
[
{
"login": "mojombo",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://avatars0.githubusercontent.com/u/1?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/mojombo",
"html_url": "https://github.com/mojombo",
"followers_url": "https://api.github.com/users/mojombo/followers",
"following_url": "https://api.github.com/users/mojombo/following{/other_user}",
"gists_url": "https://api.github.com/users/mojombo/gists{/gist_id}",
"starred_url": "https://api.github.com/users/mojombo/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/mojombo/subscriptions",
"organizations_url": "https://api.github.com/users/mojombo/orgs",
"repos_url": "https://api.github.com/users/mojombo/repos",
"events_url": "https://api.github.com/users/mojombo/events{/privacy}",
"received_events_url": "https://api.github.com/users/mojombo/received_events",
"type": "User",
"site_admin": false
}
]

json码:https://api.github.com/users
这是api的url。。。我如何解析这个对象来获取数据?

sr4lhrrt

sr4lhrrt1#

下面是一个示例,说明如何使用reformation通过array获取json对象。我相信你不会有麻烦改变它与你的数据。
示例.java

public class Example {

@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;

public String getPnrNumber() {
return pnrNumber;
}

public void setPnrNumber(String pnrNumber) {
this.pnrNumber = pnrNumber;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getResponseCode() {
return responseCode;
}

public void setResponseCode(String responseCode) {
this.responseCode = responseCode;
}

public String getTrainNumber() {
return trainNumber;
}

public void setTrainNumber(String trainNumber) {
this.trainNumber = trainNumber;
}

public String getTrainName() {
return trainName;
}

public void setTrainName(String trainName) {
this.trainName = trainName;
}

public String getJourneyClass() {
return journeyClass;
}

public void setJourneyClass(String journeyClass) {
this.journeyClass = journeyClass;
}

public String getChatPrepared() {
return chatPrepared;
}

public void setChatPrepared(String chatPrepared) {
this.chatPrepared = chatPrepared;
}

public String getFrom() {
return from;
}

public void setFrom(String from) {
this.from = from;
}

public String getTo() {
return to;
}

public void setTo(String to) {
this.to = to;
}

public String getJourneyDate() {
return journeyDate;
}

public void setJourneyDate(String journeyDate) {
this.journeyDate = journeyDate;
}

public List<Passanger> getPassangers() {
return passangers;
}

public void setPassangers(List<Passanger> passangers) {
this.passangers = passangers;
}

}

乘客.java

public class Passanger {

@SerializedName("Passenger")
@Expose
private String passenger;
@SerializedName("BookingStatus")
@Expose
private String bookingStatus;
@SerializedName("CurrentStatus")
@Expose
private String currentStatus;

public String getPassenger() {
return passenger;
}

public void setPassenger(String passenger) {
this.passenger = passenger;
}

public String getBookingStatus() {
return bookingStatus;
}

public void setBookingStatus(String bookingStatus) {
this.bookingStatus = bookingStatus;
}

public String getCurrentStatus() {
return currentStatus;
}

public void setCurrentStatus(String currentStatus) {
this.currentStatus = currentStatus;
}

}

下面是根据您在问题中提供的回答生成的类。您可以使用此链接为json响应生成pojo类。json到pojo
添加此渐变:

implementation 'com.google.code.gson:gson:2.8.2'

初始化gson buildr:

private Gson gson;

GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat("M/d/yy hh:mm a");
gson = gsonBuilder.create();

使用gson解析json

gson.fromJson(jsonObject.getJSONObject("data").toString(), Example.class);

以下是使用gson解析json的基本步骤。
有关更多信息,请参阅以下文章:
使用gson解析android上的json
或者查看gson官方github存储库
格森

相关问题