富贵资源网 Design By www.hznty.com
JSON使用阿里的fastJson为依赖包
gradle依赖管理如下:
compile group: 'com.alibaba', name: 'fastjson', version:'1.2.41'
1、String转JSONObject
前言:String 是JSONObject格式的字符串
JSONObject jSONObject = JSONObject.parseObject(String);
2、String转JSONArray
前言:String 是JSONArray格式的字符串
JSONArray jsonArray= JSONArray.parseArray(String);
3、JSONObject中的数组提取为JSONArray
eg:
{ "AreaName": "北京", "CityId": 110100, "NoMarket": false, "OldCityId": 646, "Pinyin": "beijing", "ProvinceId": 110000, "Result": [ { "ItemName": "优惠", "ItemUrl": "/list/a646c12-1.html", "Title": "Stelvio 钜惠23.4万起", "Url": "//www.autohome.com.cn/market/201904/100223763.html" }, { "ItemName": "优惠", "ItemUrl": "/list/a646c12-1.html", "Title": "马驹桥林肯中心年中大促", "Url": "//www.autohome.com.cn/market/201906/100230932.html" }, { "ItemName": "优惠", "ItemUrl": "/list/a646c12-1.html", "Title": "星越平价销售13.58万元起", "Url": "//www.autohome.com.cn/dealer/201906/367011492.html" }, { "ItemName": "优惠", "ItemUrl": "/list/a646c12-1.html", "Title": "哈弗F5限时优惠8000元", "Url": "//www.autohome.com.cn/dealer/201906/366897778.html" }, { "ItemName": "优惠", "ItemUrl": "/list/a646c12-1.html", "Title": "购元新能源价格暂无优惠", "Url": "//www.autohome.com.cn/dealer/201906/366897034.html" }, { "ItemName": "优惠", "ItemUrl": "/list/a646c12-1.html", "Title": "瑞虎3xe冰点价促销中!", "Url": "//www.autohome.com.cn/dealer/201906/366889724.html" }, { "ItemName": "优惠", "ItemUrl": "/list/a646c12-1.html", "Title": "购奔奔EV现钜惠5.1万元", "Url": "//www.autohome.com.cn/dealer/201906/366843204.html" }, { "ItemName": "优惠", "ItemUrl": "/list/a646c12-1.html", "Title": "购宝马7系价格暂无优惠", "Url": "//www.autohome.com.cn/dealer/201906/366588080.html" }, { "ItemName": "预定", "ItemUrl": "/list/a646c14-1.html", "Title": "途观L价格直降7.6万元", "Url": "//www.autohome.com.cn/dealer/201906/366568937.html" }, { "ItemName": "预定", "ItemUrl": "/list/a646c14-1.html", "Title": "购凯迪拉克XTS降8万", "Url": "//www.autohome.com.cn/dealer/201906/366500646.html" }, { "ItemName": "预定", "ItemUrl": "/list/a646c14-1.html", "Title": "汉兰达可试驾购车无优惠", "Url": "//www.autohome.com.cn/dealer/201906/366384207.html" }, { "ItemName": "预定", "ItemUrl": "/list/a646c14-1.html", "Title": "宝马M4价格稳定无优惠", "Url": "//www.autohome.com.cn/dealer/201906/366156789.html" }, { "ItemName": "预定", "ItemUrl": "/list/a646c14-1.html", "Title": "奥迪A8促销直降26.33万元", "Url": "//www.autohome.com.cn/dealer/201906/366925378.html" }, { "ItemName": "预定", "ItemUrl": "/list/a646c14-1.html", "Title": "英菲尼迪Q50L可降6.3万", "Url": "//www.autohome.com.cn/dealer/201906/366863516.html" }, { "ItemName": "预定", "ItemUrl": "/list/a646c14-1.html", "Title": "帝豪新能源价格降8.25万", "Url": "//www.autohome.com.cn/dealer/201906/366877669.html" }, { "ItemName": "预定", "ItemUrl": "/list/a646c14-1.html", "Title": "撼路者在售现钜惠5万", "Url": "//www.autohome.com.cn/dealer/201906/366912121.html" } ] }
提取Result对应的数组
JSONArray jsonArray= jsonObject.getJSONArray("Result");
4、JSONArray提取为JSONObject
eg:
JSONObject jsonObject = jsonArray.getJSONObject(0);
5、JSONObject获取value
1、object.getString("key")
2、object.get("key")
6、获取JSONObject的ket value
JSONArray dateArr = new JSONArray(); Set<String> key = dateArr .keySet(); for (String keyObj:key) { JSONArray hisData = history.getJSONArray(keyObj); }
7、遍历JSONArray
第一种for循环 JSONArray seriesArr = new JSONArray(); for(int i=0;i<seriesArr .size();i++){ JSONObject object = eggsArr.getJSONObject(i); } 第二种for增强 JSONArray pzListArr = new JSONArray(); for (Object obj:pzListArr) { JSONObject dataObj = JSONObject.parseObject(obj.toString()); }
8、
Map<String, Object> paraMap = new HashMap<String, Object>(); JSONObject.toJSONString(paraMap)
自动过滤参数为null的数值
8、javaBean转为JSONObject
未完待续······
9、List<实体类>转String
import com.alibaba.fastjson.JSONObject; List<实体类> value1 = 。。。。。。 JSONObject.toJSONString(value1 )10、JSONArray转List<实体类>
看你开心用哪个,object和array的区别没有细究
10、JSONArray转List<实体类>
import com.alibaba.fastjson.JSONArray; JSONArray objects = JSONArray.parseArray(categoryConstantInfoFromRedis); List<实体类> categoryConstantInfos = objects.toJavaList(实体类名.class); 众里寻他千百度!!!toJavaList
找不到方法的时候,去看看JSONArray,JSONObject的源码,很多都有封装好的,你不会失望的
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。