当它们只有一个响应(计划)时我得到 JSON 对象,当它们有多个响应(计划)时我得到 JSON 数组。如何处理 JSON 响应?
当有多个计划时,使用 JSON ARRAY。
{
"ocrNumber": "0123456",
"userName": "dddd",
"plan": [{
"lat": "13.1234",
"long": "7.1234",
"imagepath": "sd / image / demo.jpg"
},{
"lat": "13.1234",
"long": "7.1234",
"imagepath": "sd / image / demo.jpg"
}]
}
当只有一个计划时为 JSON OBJECT。
{
"ocrNumber": "0123456",
"userName": "dddd",
"plan": {
"lat": "13.1234",
"long": "7.1234",
"imagepath": "sd / image / demo.jpg"
}
}
最佳答案
在应用级 gradle 文件中添加依赖项。
implementation 'com.google.code.gson:gson:2.8.5'
创建 MyResponse.java
public class MyResponse {
@SerializedName("ocrNumber")
private String ocrNumber;
@SerializedName("userName")
private String userName;
@SerializedName("plan")
private ArrayList<Plan> plan;
public String getOcrNumber() {
return ocrNumber;
}
public void setOcrNumber(String ocrNumber) {
this.ocrNumber = ocrNumber;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public ArrayList<Plan> getPlan() {
return plan;
}
public void setPlan(ArrayList<Plan> plan) {
this.plan = plan;
}
}
创建Plan.java类
public class Plan {
@SerializedName("lat")
private String lat;
@SerializedName("long")
private String longStr;
@SerializedName("imagepath")
private String imagepath;
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLongStr() {
return longStr;
}
public void setLongStr(String longStr) {
this.longStr = longStr;
}
public String getImagepath() {
return imagepath;
}
public void setImagepath(String imagepath) {
this.imagepath = imagepath;
}
}
使用 Gson 将 jsonString 转换为对象
Gson gson = new Gson();
MyResponse response = gson.fromJson(yourJsonString, MyResponse.class);
关于java - 在同一 KEY 中获取 Json 对象和 Json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61246719/