1、认识json
JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。
JSON就是一串字符串 只不过元素会使用特定的符号标注。
{} 双括号表示对象
[] 中括号表示数组
“” 双引号内是属性或值
冒号:表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
所以 {“name”: “Michael”} 可以理解为是一个包含name为Michael的对象
而[{“name”: “Michael”},{“name”: “Jerry”}]就表示包含两个对象的数组
当然了,你也可以使用{“name”:[“Michael”,“Jerry”]}来简化上面一部,这是一个拥有一个name数组的对象
2、JSONArray与JSONObject的区别
简单来说一个是对象{},一个是对象数组[{}.{}]
参考文章:
https://blog.youkuaiyun.com/qq_32253371/article/details/78083391
3、JSONObject和JsonObject的区别
https://www.tinymind.net.cn/articles/e064a1e72fcf56
4、阿里巴巴jsonObject的常用方法
参考文章:亲测
https://blog.youkuaiyun.com/tangthh123/article/details/100800595
5、例子
{“requestId”:null,“success”:true,“business”:null,“errorCode”:null,“errorMessage”:null,“params”:null,“date”:null,“version”:null,“obj”:{“serviceList”:[{“serviceCode”:“22”,“serviceDesc”:“改自取-网点”,“enable”:false,“serviceStatus”:“0”,“awsmId”:null,“cusId”:null,“reasons”:[{“reasonCode”:“9-40-0”,“desc”:“根据渠道和发起方判断,当前为ASR寄方,因此不允许发起改自取-网点。”}]}}
以这个json字符串为例:
//转划为对象接受
acceptableResp = JSONObject.parseObject(jsonObject.getString(“obj”), AcceptableResp.class);
//获取对抗的key,value
JSONObject jsonObject = JSONObject.parseObject(feeResult);//feeResult是字符串
String obj = jsonObject.getString(“obj”);
//转化为list,obj是一个list数组返回 LIst
feeResp = (List) JSONObject.parseArray(obj, FeeResp.class);