Json字符串到Json对象万能转换器(java实现),就一百来行代码,非常轻量小巧。对于一般应用场景资源消耗非常低,速度也足够快,尤其适用于Android应用开发。

创新互联建站主营广河网站建设的网络公司,主营网站建设方案,成都APP应用开发,广河h5微信小程序开发搭建,广河网站营销推广欢迎广河等地区企业咨询
通过CommonJSONParser可以把json字符串转换为包含Map、List、String、Integer等标准Java对象的集合,具体使用方法:
  CommonJSONParser commonJSONParser = new CommonJSONParser();
   Map
CommonJSONParser源代码如下(主要使用“递归”思想):
- 1 import java.util.ArrayList;
 - 2 import java.util.HashMap;
 - 3 import java.util.Iterator;
 - 4 import java.util.List;
 - 5 import java.util.Map;
 - 6
 - 7 import org.json.JSONArray;
 - 8 import org.json.JSONException;
 - 9 import org.json.JSONObject;
 - 10
 - 11 public class CommonJSONParser {
 - 12
 - 13 public Map
 parse(String jsonStr) { - 14
 - 15 Map
 result = null; - 16
 - 17 if (null != jsonStr) {
 - 18 try {
 - 19
 - 20 JSONObject jsonObject = new JSONObject(jsonStr);
 - 21 result = parseJSONObject(jsonObject);
 - 22
 - 23 } catch (JSONException e) {
 - 24 // TODO Auto-generated catch block
 - 25 e.printStackTrace();
 - 26 }
 - 27 } // if (null != jsonStr)
 - 28
 - 29 return result;
 - 30 }
 - 31
 - 32 private Object parseValue(Object inputObject) throws JSONException {
 - 33 Object outputObject = null;
 - 34
 - 35 if (null != inputObject) {
 - 36
 - 37 if (inputObject instanceof JSONArray) {
 - 38 outputObject = parseJSONArray((JSONArray) inputObject);
 - 39 } else if (inputObject instanceof JSONObject) {
 - 40 outputObject = parseJSONObject((JSONObject) inputObject);
 - 41 } else if (inputObject instanceof String || inputObject instanceof Boolean || inputObject instanceof Integer) {
 - 42 outputObject = inputObject;
 - 43 }
 - 44
 - 45 }
 - 46
 - 47 return outputObject;
 - 48 }
 - 49
 - 50 private List
 - 51
 - 52 List
 - 53
 - 54 if (null != jsonArray) {
 - 55 valueList = new ArrayList
 - 56
 - 57 for (int i = 0; i < jsonArray.length(); i++) {
 - 58 Object itemObject = jsonArray.get(i);
 - 59 if (null != itemObject) {
 - 60 valueList.add(parseValue(itemObject));
 - 61 }
 - 62 } // for (int i = 0; i < jsonArray.length(); i++)
 - 63 } // if (null != valueStr)
 - 64
 - 65 return valueList;
 - 66 }
 - 67
 - 68 private Map
 parseJSONObject(JSONObject jsonObject) throws JSONException { - 69
 - 70 Map
 valueObject = null; - 71 if (null != jsonObject) {
 - 72 valueObject = new HashMap
 (); - 73
 - 74 Iterator
 keyIter = jsonObject.keys(); - 75 while (keyIter.hasNext()) {
 - 76 String keyStr = keyIter.next();
 - 77 Object itemObject = jsonObject.opt(keyStr);
 - 78 if (null != itemObject) {
 - 79 valueObject.put(keyStr, parseValue(itemObject));
 - 80 } // if (null != itemValueStr)
 - 81
 - 82 } // while (keyIter.hasNext())
 - 83 } // if (null != valueStr)
 - 84
 - 85 return valueObject;
 - 86 }
 - 87 }
 
                网页标题:Android开发:Json字符串到Json对象万能解析器
                
                文章地址:http://www.csdahua.cn/qtweb/news16/540516.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网