加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JSONObject、JSONArray

发布时间:2020-12-16 19:35:27 所属栏目:百科 来源:网络整理
导读:本文转载于http://blog.csdn.net/lishuangzhe7047/article/details/28880009 最近两个星期接触最多的就是json和map了。 之前用到的json,就是一个键对应一个值,超级简单的一对一关系。现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶

本文转载于http://blog.csdn.net/lishuangzhe7047/article/details/28880009


最近两个星期接触最多的就是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)

[java] view plain copy
print ?
  1. </pre><prename="code"class="java">JSONArraygetJsonArray=JSONArray.fromObject(arrayStr);//将结果转换成JSONArray对象的形式
  2. JSONObjectgetJsonObj=getJsonArray.getJSONObject(0);//获取json数组中的第一项
  3. Stringresult=getJsonObj.getJSONObject("name1").getJSONObject("name2").getJSONObject("name4");

好了我们说说这两个对象。

1,JSONObject

json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}

2,JSONArray

json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的


Json对象中添加的是键值对,JSONArray中添加的是Json对象

copy
JSONObjectJson=newJSONObject();
  • JSONArrayJsonArray=newJSONArray();
  • Json.put("key","value");//JSONObject对象中添加键值对
  • JsonArray.add(Json);//将JSONObject对象添加到Json数组中

  • 3,JSONObject与Map

    Mapmap和json都是键值对,不同的是map中键值对中间用等号分开,json中键值对中间用冒号分开。其实json就是一种特殊形式的map。

    copy
    Map<String,String>strmap=newJSONObject();

    这里的需求是:request对象获取的map,想要返回json格式也不用白费力了。。。。哈哈。。


    现在我可以说对map,json很了解,当初学习那会,可以说提到map就头疼,我嫌麻烦,对map和json会简单应用了就过了。现在工作了又捡起来重新学习了一次。出来混,早晚问题都是你的,哈哈。。。

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读