如何解析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; 
    } 
} 
+0

把你的JSON响应这里 –

+0

这是我的JSON响应“”登录响应“:[ { ”状态码“:”200“, ”OP状态“:”0“, “状态消息”: “数据中解析成功”, “错误消息”: “无法获取响应”, “日期和时间”: “星期五,4月7日” } ] } “@Bh – aman

+0

我认为你的POJO创建JSON响应是错误的....试试这个http://www.jsonschema2pojo.org/创建Pojo类为您的JSON响应 在[序列化名称]注释我们给出参数名称@SerializedName(“Login响应“)在我看来这不是一个参数名称(登录响应) – santoXme

创建POJO像下面,在你build.gradlecompile '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(); 
+0

然后我将如何显示我的响应字符串? – aman

+0

非常感谢好友!这真的很有帮助。 – aman

+0

欢迎............! –

您需要在代码中使用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); 

快乐编码.. :)