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();
            }
        }
  • 相关阅读:
    Spring jdbcTemplat 写入BLOB数据为空
    Android强制弹出,隐藏输入法.
    Android NDK开发篇(五):Java与原生代码通信(数据操作)
    AIX加入�能够telnet远程连接账号方法
    index of rmvb mp3 rm突破站点入口下载
    C++“窗体”程序设计启蒙(之二)
    C++ Primer 学习笔记_72_面向对象编程 --句柄类与继承[续]
    (a*b)%c 小的技巧
    javascript(arguments)
    Cocos2dx 小技巧(十四)ScrollView实现缩放效果
  • 原文地址:https://www.cnblogs.com/tianshidechibang234/p/3270557.html
Copyright © 2011-2022 走看看