有时候可能会用到json格式进行数据的传输,那么怎么把接收到的数据解析出来呢? 下面介绍两种解析json数据的方法:

       1、通过谷歌的Gson来进行解析: 
json数据:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]}; 

两个VO类: 

  • public class SurveyVO {
  •     private String surveyId;
  •     private String surveyName;
  •     private String message;
  •     public String getMessage() {
  •         return message;
  •     }
  •     public void setMessage(String message) {
  •         this.message = message;
  •     }
  •     public String getSurveyId() {
  •         return surveyId;
  •     }
  •     public void setSurveyId(String surveyId) {
  •         this.surveyId = surveyId;
  •     }
  •     public String getSurveyName() {
  •         return surveyName;
  •     }
  •     public void setSurveyName(String surveyName) {
  •         this.surveyName = surveyName;
  •     }
  • }
  • public class SurveyListVO {
  •     
  •     private String message;
  •     private List<SurveyVO> result;
  •     public String getMessage() {
  •         return message;
  •     }
  •     public void setMessage(String message) {
  •         this.message = message;
  •     }
  •     public List<SurveyVO> getResult() {
  •         return result;
  •     }
  •     public void setResult(List<SurveyVO> result) {
  •         this.result = result;
  •     }    
  • }
  • json格式转换成object类型:

  • public class fromGson() {
  •         sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{"surveyid":"2","surveyname":"C"}]};
  •         Gson gson = new Gson();
  •         SurveyListVO surveyListVO = gson.fromJson(sTotalString,
  •                                     SurveyListVO.class);
  •         for (int i = 0; i < surveyListVO.getResult().size(); i++) {
  •             System.out.print(surveyListVO.getResult().get(i)
  •                              .getSurveyId());
  •             print: 1////2
  •             System.out.print(surveyListVO.getResult().get(i)
  •                              .getSurveyName());
  •             print: B///C
  •             System.out.print(surveyListVO.getMessage());
  •         }
  •     }


  •       2、通过json-org.jar包进行解析: 
    json数据:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]}; 

    一个VO类: 

  • public class SurveyVO {
  •     private String surveyId;
  •     private String surveyName;
  •     public String getSurveyId() {
  •         return surveyId;
  •     }
  •     public void setSurveyId(String surveyId) {
  •         this.surveyId = surveyId;
  •     }
  •     public String getSurveyName() {
  •         return surveyName;
  •     }
  •     public void setSurveyName(String surveyName) {
  •         this.surveyName = surveyName;
  •     }
  • }
  • json格式转换成object类型: 

  • public class fromJson() {
  •         sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{"surveyid":"2","surveyname":"C"}]};
  •         JSONObject json;
  •         try {
  •             json = new JSONObject(sTotalString);
  •             JSONArray results = json.getJSONArray("result");
  •             for (int i = 0; i < results.length(); i++) {
  •                 SurveyVO surveyVO = new SurveyVO();
  •                 JSONObject result = results.getJSONObject(i);
  •                 System.out.println(result.getString("surveyId")+" "+result.getString("surveyName"));
  •                 surveyVO.setSurveyId(result.getString("surveyId"));
  •                 surveyVO.setSurveyName(result.getString("surveyName"));
  •                 surveyVOList.add(surveyVO);
  •             }
  •         } catch (JSONException e) {
  •             e.printStackTrace();
  •         }
  •     }
  • 相关文章:

    • 2021-11-08
    • 2021-12-30
    • 2022-01-31
    • 2021-11-16
    猜你喜欢
    • 2022-02-26
    • 2022-01-01
    • 2021-12-23
    • 2021-12-09
    • 2021-11-17
    相关资源
    相似解决方案