如何解析JSON响应后,我已经为JSON响应POJO类?
问题描述:
这是我的POJO类,我想解析我的JSON。如何解析JSON响应后,我已经为JSON响应POJO类?
public class TestPojo {
@SerializedName("Login Response")
private List<com.example.amans.demoparsing.LoginResponse> mLoginResponse;
public List<com.example.amans.demoparsing.LoginResponse> getLoginResponse() {
return mLoginResponse;
}
public void setLoginResponse(List<com.example.amans.demoparsing.LoginResponse> LoginResponse) {
mLoginResponse = LoginResponse;
}
}
答
创建POJO像下面,在你build.gradle
compile 'com.google.code.gson:gson:2.7'
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class TestPojo {
@SerializedName("Login Response")
@Expose
private List<LoginResponse> loginResponse = null;
public List<LoginResponse> getLoginResponse() {
return loginResponse;
}
public void setLoginResponse(List<LoginResponse> loginResponse) {
this.loginResponse = loginResponse;
}
public class LoginResponse {
@SerializedName("Status code")
@Expose
private String statusCode;
@SerializedName("OP Status")
@Expose
private String oPStatus;
@SerializedName("Status Message")
@Expose
private String statusMessage;
@SerializedName("Error Message")
@Expose
private String errorMessage;
@SerializedName("Date and Time")
@Expose
private String dateAndTime;
public String getStatusCode() {
return statusCode;
}
public void setStatusCode(String statusCode) {
this.statusCode = statusCode;
}
public String getOPStatus() {
return oPStatus;
}
public void setOPStatus(String oPStatus) {
this.oPStatus = oPStatus;
}
public String getStatusMessage() {
return statusMessage;
}
public void setStatusMessage(String statusMessage) {
this.statusMessage = statusMessage;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public String getDateAndTime() {
return dateAndTime;
}
public void setDateAndTime(String dateAndTime) {
this.dateAndTime = dateAndTime;
}
}
}
,然后用上面的POJO像下面这样添加的gradle
TestPojo testPojo = new Gson().fromJson(response,TestPojo.class);
String statusMessage = testPojo.getLoginResponse.get(0).getStatusMessage();
答
您需要在代码中使用GSON类此
compile 'com.google.code.gson:gson:2.7'
然后,你响应字符串或者你想要它添加此行的代码
String response = // your response string is in array
List<LoginResponse> list = Arrays.asList(new Gson()
.fromJson(response, LoginResponse[].class));
上测试pojo class
String response = // your response string
TestPojo testPojo = new Gson().fromJson(response, TestPojo.class);
快乐编码.. :)
把你的JSON响应这里 –
这是我的JSON响应“”登录响应“:[ { ”状态码“:”200“, ”OP状态“:”0“, “状态消息”: “数据中解析成功”, “错误消息”: “无法获取响应”, “日期和时间”: “星期五,4月7日” } ] } “@Bh – aman
我认为你的POJO创建JSON响应是错误的....试试这个http://www.jsonschema2pojo.org/创建Pojo类为您的JSON响应 在[序列化名称]注释我们给出参数名称@SerializedName(“Login响应“)在我看来这不是一个参数名称(登录响应) – santoXme