我正在尝试通过传递另一个jsonObject来转换jsonArray和jsonObject。请问任何示例代码?
{
"role": "CUSTOMER",
"operationId": "updateHomePlace",
"parameters": {
"tcId": "f44015c8-d672-411b-a0f9-49cf9ef3f6b2",
"otpVerification": "false",
"password": "false",
"homePlace": [{
"address": "MIG 528, KPHB 1st Phase,, Kukatpally Housing Board Colony, Kukatpally, Hyderabad, Telangana 500072, India",
"lat": "17.4866943",
"lng": "78.3994029"
}]
}
}
答案 0 :(得分:1)
像这样你可以为响应编写POJO / Model类
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Example {
@SerializedName("role")
@Expose
private String role;
@SerializedName("operationId")
@Expose
private String operationId;
@SerializedName("parameters")
@Expose
private Parameters parameters;
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public String getOperationId() {
return operationId;
}
public void setOperationId(String operationId) {
this.operationId = operationId;
}
public Parameters getParameters() {
return parameters;
}
public void setParameters(Parameters parameters) {
this.parameters = parameters;
}
}
----------------------------------- com.example.HomePlace.java ----- ------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class HomePlace {
@SerializedName("address")
@Expose
private String address;
@SerializedName("lat")
@Expose
private String lat;
@SerializedName("lng")
@Expose
private String lng;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLng() {
return lng;
}
public void setLng(String lng) {
this.lng = lng;
}
}
----------------------------------- com.example.Parameters.java ----- ------------------------------
package com.example;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Parameters {
@SerializedName("tcId")
@Expose
private String tcId;
@SerializedName("otpVerification")
@Expose
private String otpVerification;
@SerializedName("password")
@Expose
private String password;
@SerializedName("homePlace")
@Expose
private List<HomePlace> homePlace = null;
public String getTcId() {
return tcId;
}
public void setTcId(String tcId) {
this.tcId = tcId;
}
public String getOtpVerification() {
return otpVerification;
}
public void setOtpVerification(String otpVerification) {
this.otpVerification = otpVerification;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public List<HomePlace> getHomePlace() {
return homePlace;
}
public void setHomePlace(List<HomePlace> homePlace) {
this.homePlace = homePlace;
}
}
使用Gson将此Parse json转换为自定义模型后
Gson gson = new GsonBuilder().create();
Example yourModelClass = gson.fromJson(yourJsonResponse, Example .class);
答案 1 :(得分:0)
试试android studio的这个插件 DTO Generator从给定的文本生成Java类。