JSONObject、JSONArray

JSONObject、JSONArray最近两个星期接触最多的就是json和map了。  之前用到的json,就是一个键对应一个值,超级简单的一对一关系。现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个数据还那么麻烦。其实,就跟ifelse语句一样,如果if中套if,if中再套if,写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦。所以啊,对于json嵌套,只要记住符号“:”前是键

大家好,又见面了,我是你们的朋友全栈君。

   最近两个星期接触最多的就是json和map了。

   之前用到的json,就是一个键对应一个值,超级简单的一对一关系。现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个数据还那么麻烦。其实,就跟if else语句一样,如果if中套if,if中再套if,写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦。所以啊,对于json嵌套,只要记住符号“:”前是键,符号后是值大括号成对找,一层层剥开,就清楚了。 举个例子说明,如下:

JSONObject、JSONArray

      从外到里看,例子中就是一个数组,数组里面是两个json格式的字符串。这样分析思路就清晰多了。

    工作中需要取出name4的值,你们会怎么取呢?。最初我都想过字符串截取,那时还不了解JSONArray,现在知道了,取出来也就相当容易了。


    取出name4值过程步骤:1,将以上字符串转换为JSONArray对象;2,取出对象的第一项,JSONObject对象;3,取出name1的值JSONObject对象;4,取出name2的值JSONObject对象;5,取出name4的值value2。

    示例中json数组格式的字符串可以通过方法直接转换为JSONArray的格式:JSONArray.fromObject(String)

</pre><pre name="code" class="java">JSONArray getJsonArray=JSONArray.fromObject(arrayStr);//将结果转换成JSONArray对象的形式
JSONObject getJsonObj = getJsonArray.getJSONObject(0);//获取json数组中的第一项
String result=getJsonObj.getJSONObject("name1").getJSONObject("name2").getJSONObject("name4");

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

1,JSONObject

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

2,JSONArray

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


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

JSONObject Json = new JSONObject();
JSONArray JsonArray = new JSONArray();

Json.put("key", "value");//JSONObject对象中添加键值对
JsonArray.add(Json);//将JSONObject对象添加到Json数组中

3,JSONObject与Map

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

Map<String,String> strmap=new JSONObject();

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136268.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android版MT4使用方法,安卓版手机MT4使用手册「建议收藏」

    Android版MT4使用方法,安卓版手机MT4使用手册「建议收藏」一、安卓Android系统MT4下载安装1、下载安装:用户在安卓市场(应用市场)里直接输入MT4、“外汇交易软件”、“外汇交易系统”等进行搜索,选择左边图片中的软件后下载安装。(请认准下方标志)(MT4官方标志)2、登录:在成功安装后,会自动转跳到右图中的页面,客户根据自己的实际情况,选择登录模拟还是真实账户进行登录。3、选择服务器:客户需要在搜索框里输入“onef”系统会自动搜索出欧…

    2022年5月20日
    70
  • python机器视觉opencv_opencv轻松入门:面向python电子版

    python机器视觉opencv_opencv轻松入门:面向python电子版以下是快速学完OpenCV+python计算机视觉图像处理的个人总结。任何知识或者学科都不可能快速学会,一口吃不成大胖子,想要学会,只能一点一点积累。不积跬步无以至千里,不敲千遍无可能懂理。想要学会,不能光看,须知熟才能生巧,一定要多敲!一定要多敲!一定要多敲!视频链接请点击这里代码连接请点击这里,提取码:iukw看完视频一定要手动敲,不然最后只是眼睛会了,脑子和手却不会。以下是Windows、Linux、Mac深度学习环境搭建详细教程:1、windows搭建深度学习环境详细教程2、L

    2025年8月28日
    7
  • JMH简介

    JMH简介  JMH是新的microbenchmark(微基准测试)框架(2013年首次发布)。与其他众多框架相比它的特色优势在于,它是由Oracle实现JIT的相同人员开发的。特别是我想提一下AlekseyShipilev和他优秀的博客文章。JMH可能与最新的OracleJRE同步,其结果可信度很高。JMH的示例链接。使用JMH仅需满足2个必要条件(其他所有都是建议选项):设置jmh-…

    2022年7月11日
    29
  • 有关SqlDbType.Decimal

    有关SqlDbType.Decimal今天在开发过程中遇到SqlDbType.Decimal类型的参数,返回值却是没有小数位的整数值,郁闷坏了。查了半天资料,原来需要指定小数位。具体书写如下:               cmd.Parameters.Add(“@Percent”,SqlDbType.Decimal).Direction=ParameterDirection.Output;               cm

    2022年7月20日
    14
  • mac 安装golang2021 激活码_在线激活

    (mac 安装golang2021 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    129
  • mshta 反弹shell

    mshta 反弹shell  kali系统准备:  复制以下ruby代码到/usr/share/metasploit-framework/modules/exploits/windows/smb/msh_shell.rb目录(要注意代码缩进哦):###ThismodulerequiresMetasploit:https://metasploit.com/download#Currentso…

    2022年7月15日
    85

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号