json数据解析总结
来源:互联网 发布:手机淘宝买东西流程 编辑:程序博客网 时间:2024/06/04 23:00
现在项目用到的都是json数据交互格式。json交互的好处数据格式非常清楚。
下面主要讲json解析,封装以后再说。
最简单的格式:假设:strResult={ "status": true, "error": null}
JSONObject jsonObject = new JSONObject(strResult);boolean status=jsonObject.getBoolean("status");
解析普通数据:假设 strResult={"singer":{"id":01,"name":"黎明","gender":"男"}}
JSONObject jsonObject = new JSONObject(strResult);JSONObject s =jsonObject.getJSONObject("singer");int id=s.getInt("id");
解析数组:假设 strResult={"desc_arr":[ "你好",“他们”,"你是?"]}
JSONObject jsonObject = new JSONObject(strResult); JSONArray reasonJsonArray = jsonObject .getJSONArray("desc_arr"); List<String> reasonList=new ArrayList<String>(); for(int n=0;n<reasonJsonArray.length();n++){ String reason=reasonJsonArray.get(n).toString()==null ? "":reasonJsonArray.get(n).toString(); reasonList.add(reason); }
解析数列:假设
strResult={ "status": true, "error": null, "result": { "show": 1, "banner": "", "list": [ { "user_id": 3713, "path_square": "http://7xjy3j.com2.z0.glb.qiniucdn.com/app/static/avatar_6.jpg", "str": "活跃" }, { "user_id": 43971, "path_square": "http://7xjy3j.com2.z0.glb.qiniucdn.com/app/static/avatar_5.jpg", "str": "点赞第一人" }, { "user_id": 3713, "path_square": "http://7xjy3j.com2.z0.glb.qiniucdn.com/app/static/avatar_6.jpg", "str": "给赞第一人" }, { "user_id": 43971, "path_square": "http://7xjy3j.com2.z0.glb.qiniucdn.com/app/static/avatar_5.jpg", "str": "发布第一人" } ] }
解析:
JSONObject jsonObject = new JSONObject(strResult);if (!jsonObject.getBoolean("status")) { return masterList; }JSONObject jsonResult = jsonObject.getJSONObject("result");JSONArray jsonArray = jsonResult.getJSONArray("list");if (jsonArray.length() == 0) { return masterList; }for (int i = 0; i < jsonArray.length(); i++) { MasterInfo masterInfo = new MasterInfo(); JSONObject jsonMaster = jsonArray.getJSONObject(i); masterInfo.setUserId(jsonMaster.isNull("user_id") ? 0 : jsonMaster.getInt("user_id")); masterInfo.setHonor_detail(jsonMaster.isNull("str") ? "" : jsonMaster.getString("str")); masterInfo.setUserPath(jsonMaster.isNull("path_square") ? "" : jsonMaster.getString("path_square")) masterList.add(masterInfo);}
暂时现在基本想到了就这几个json解析,平常复杂的都是上面混合嵌套的,思路清楚就好了。
以后想到最添加。
0 0
- json数据解析总结
- JSON数据解析总结
- GSON解析json数据总结
- Android 解析xml 和 json数据总结
- Android网络数据JSON解析使用总结
- Bug总结之android单元测试和解析json数据
- 关于xml和Json数据解析的一些总结
- Newtonsoft.Json解析json数据
- 使用Json解析Json数据
- c#解析JSON总结
- gson解析json(总结)
- Android JSON解析总结
- 页面解析json总结
- json解析总结
- Android Json 解析总结
- json--解析总结
- 解析json总结备用
- JavaScript 解析 JSON 数据
- 二叉排序树(插入、删除、查找)
- NOIP2015总结
- 在Linux或mac上配置github提交代码到github仓库
- find命令的xargs参数的使用---Linux学习笔记
- 设计模式之--代理模式
- json数据解析总结
- SJTU-ACM-1528
- install jekyll
- 使用Maven构建Java web项目
- 设计模式系列-原型模式
- 【C语言】递归实现栈的逆序及排序
- markdown写博客工具
- 求职应聘时面试常见问题1
- Struts2基础复习系列(3)