如何使用com.google.gson类创建json对象

我试图通过传递另一个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" }] } } 

像这样你可以为响应编写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 = 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 getHomePlace() { return homePlace; } public void setHomePlace(List homePlace) { this.homePlace = homePlace; } } 

在这个Parse json之后使用Gson自定义模型

 Gson gson = new GsonBuilder().create(); Example yourModelClass = gson.fromJson(yourJsonResponse, Example .class); 

试试这个Android工作室的插件DTO Generator从给定的文本生成Java类。