最近两个星期接触最多的就是json和map了。
之前用到的json,就是一个键对应一个值,超级简单的一对一关系。现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个数据还那么麻烦。其实,就跟if else语句一样,如果if中套if,if中再套if,写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦。所以啊,对于json嵌套,只要记住符号“:”前是键,符号后是值大括号成对找,一层层剥开,就清楚了。 举个例子说明,如下:
从外到里看,例子中就是一个数组,数组里面是两个json格式的字符串。这样分析思路就清晰多了。
工作中需要取出name4的值,你们会怎么取呢?。最初我都想过字符串截取,那时还不了解JSONArray,现在知道了,取出来也就相当容易了。
取出name4值过程步骤:1,将以上字符串转换为JSONArray对象;2,取出对象的第一项,JSONObject对象;3,取出name1的值JSONObject对象;4,取出name2的值JSONObject对象;5,取出name4的值value2。
示例中json数组格式的字符串可以通过方法直接转换为JSONArray的格式:JSONArray.fromObject(String)
好了我们说说这两个对象。
1,JSONObject
json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}
2,JSONArray
json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的
Json对象中添加的是键值对,JSONArray中添加的是Json对象
3,JSONObject与Map
Map map和json都是键值对,不同的是map中键值对中间用等号分开,json中键值对中间用冒号分开。其实json就是一种特殊形式的map。
这里的需求是:request对象获取的map,想要返回json格式也不用白费力了。。。。哈哈。。
现在我可以说对map,json很了解,当初学习那会,可以说提到map就头疼,我嫌麻烦,对map和json会简单应用了就过了。现在工作了又捡起来重新学习了一次。出来混,早晚问题都是你的,哈哈。。。
-
顶
-
踩
30楼 riju47132017-08-15 11:12发表 [回复]-
-
厉害了我的姐
29楼 逝水--无痕2017-07-14 16:28发表 [回复]-
-
Object result = getJsonObj.getJSONObject("name1").getJSONObject("name2").get("name4");我实际敲了下,最后得要用get(key)取值才能娶到name4的值
Re: lishuangzhe70472017-07-17 08:45发表 [回复]-
-
回复逝水--无痕:name4 就是key啊
28楼 六个辅导费2017-06-16 16:01发表 [回复]-
-
点赞~
27楼 PM进阶者2017-06-12 15:04发表 [回复]-
-
写的不错,点个赞!
26楼 咫尺红尘2017-05-16 14:37发表 [回复]-
-
14年写的,妹子现在怎么样了
25楼 咫尺红尘2017-05-16 14:37发表 [回复]-
-
14年写的,妹子现在怎么样了
24楼 weiguoxianadv2017-05-03 09:20发表 [回复]-
-
可以哦,妹子
23楼 单车不孤单2017-03-16 18:02发表 [回复]-
-
大神笑的忒魔性
22楼 hyp19872017-01-03 14:14发表 [回复]-
-
json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的
Json对象中添加的是键值对,JSONArray中添加的是Json对象。
这两句有问题,JSONArray里边可以添加任何对象
21楼 0x0072016-08-18 15:08发表 [回复]-
-
JSONArray没有add这个方法吧
//JsonArray.add(Json);//将JSONObject对象添加到Json数组中
Re: 铁血C2016-12-19 10:55发表 [回复]-
-
回复0x007:json解析有两个包 我们平常用的是org.json这个,这个包JSONArray 是没有add方法的 只有put方法,楼主应该说明一下
20楼 pythonscrapy2016-06-06 17:09发表 [回复]-
-
博主,你这个都是解析json
有没有拼装json比较好的办法,最近也在玩json,但是不光要解析还要,拼装一个发过去,,,,所以有没有拼装json的比较快的办法
19楼 怀有梦想的心2016-04-25 10:05发表 [回复]-
-
写的不错
18楼 seuStones2016-04-12 11:24发表 [回复]-
-
给美女大神点个赞!
17楼 Koow2016-03-11 14:35发表 [回复]-
-
第一次真心评论,给这个女博主了,长得漂亮有错么?!?
16楼 秋雨午后2016-03-08 23:24发表 [回复]-
-
总结的很好
15楼 麦田2016-02-23 16:24发表 [回复]-
-
总结的挺好
14楼 iTarget2016-02-17 23:39发表 [回复]-
-
map和json都是键值对,不同的是map中键值对中间用等号分开,json中键值对中间用冒号分开。
————————————————
改为“map和json都是键值对,不同的是map中的每一对键值对是用等号对应起来的,如:
userName="LiMing"
而json中的每一对键值对是用冒号对应起来的,如:
userAge:18
”
13楼 Battle_Man2016-01-28 11:02发表 [回复]-
-
这么多好评的 怎么还有这么多点踩的?
12楼 _LinDL2016-01-21 12:00发表 [回复]-
-
mark
11楼 wlccomeon2015-10-02 21:36发表 [回复]-
-
这个是JsonObject包含JsonArray~~~http://www.cnblogs.com/xwdreamer/archive/2011/12/16/2296904.html
10楼 luckgirlstar2015-08-28 15:11发表 [回复]-
-
不错,学习了啊
9楼 xihefeng2015-08-13 18:59发表 [回复]-
-
result没有数组的" [ ]"符号,不是数组。直接使用getString
8楼 xihefeng2015-08-13 18:58发表 [回复]-
-
result没有数组的" [ ]"符号,不是数组。直接使用getString
7楼 帝乙岩2015-07-08 12:03发表 [回复]-
-
赞一个,适合学习,瞬间明白
6楼 Jerry_Li-CN2015-05-05 18:53发表 [回复]-
-
赞一个赞一个
5楼 Rick_Bao2014-11-20 15:57发表 [回复]-
-
写的很棒,一针见血,之前一直讲{ }当成JsonArray了,透彻
4楼 Looper景2014-10-12 10:18发表 [回复]-
-
上次新闻客户端,在这上面花了好多时间,现在理解加深了,thank you for your blog!
3楼 萧萧Tony2014-09-25 20:57发表 [回复]-
-
写得太好了!!一下子就懂了!思路清晰简洁!
2楼 刘佳翰2014-06-12 16:51发表 [回复] [引用] [举报]-
-
学习!
1楼 李社河2014-06-07 08:13发表 [回复]-
-
学习啦,这三个容易混淆,清晰了很多,收藏