zoukankan      html  css  js  c++  java
  • android 复杂的json数据解析

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

    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"}]}; 

    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();
            }
        }
  • 相关阅读:
    JavaScript中的setMonth()方法的小问题 解决:setMonth(month, 1)
    Bootstrap的Model源码详细注释 (转)
    中检测到有潜在危险的 Request.Form 值。
    JQuery EasyUI DataGrid获取当前行
    VS 开发必用插件
    C# MVC模式 404 500页面设置方法
    (转)高性能网页开发的14条军规
    (转)mysql百万级以上查询优化
    Win7/Win8安装"我们无法创建新的分区,也找不到现有的分区"的解决方法
    SQL Server2008 删除登录记录
  • 原文地址:https://www.cnblogs.com/tianshidechibang234/p/3270557.html
Copyright © 2011-2022 走看看