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

</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会简单应用了就过了。现在工作了又捡起来重新学习了一次。出来混,早晚问题都是你的,哈哈。。。

JSONObject、JSONArray相关推荐

  1. JSON的三种解析方式以及JSONObject、JSONArray区别

    JSON的常用两种解析方式 一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串 ...

  2. Json格式的解析,JsonObject、JSONArray

    1.将json字符串转成json格式 com.alibaba.fastjson.JSONObject object = JSONArray.parseObject(newJson); 2.根据属性获取 ...

  3. JSONObject、JSONArray区别

    最近两个星期接触最多的就是json和map了. 之前用到的json,就是一个键对应一个值,超级简单的一对一关系.现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个 ...

  4. JSONObject、JSONArray方法使用详解

    JSON在线API网址:http://tool.oschina.net/apidocs/apidoc?api=json-lib2.4 1.JSONObject介绍 JSONObject-lib包是一个 ...

  5. JAVA 判断字符串是否可转化为JSONObject、JSONArray

    有时,我们需要判断字符串在转化为JSON对象或者JSONArray时,我们可以使用JSONObject.parseObject和JSONArray.parseArray,但是有时候我们需要在转化之前判 ...

  6. 002_JSONObject、JSONArray和JsonConfig对象简单使用

    1. JSONObject对象 1.1. JSONObject是一个无序的键值对集合.它的外部文本形式是一个用大括号括起来的字符串, 使用冒号分割键和值, 并且是用逗号分隔多个值. 1.2. JSON ...

  7. JSONObject和JSONArray使用

    1.所依赖JAR包 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar common ...

  8. JSON解析之JSONObject与JSONArray的使用

    一.应用场景 1.后台的java类,如实体类.List.Set.Map转成json字符串发送到前端或其他项目 2.前端或者其它项目发送过来的json字符串,需要解析成实体类.List.Set.Map等 ...

  9. java怎么判断json是否为空_java判断jsonObject和jsonArray是否为空

    resJsonObj = {"res":"0","msg":"","data":{"Nam ...

最新文章

  1. 理解int的存储方式以及VS二进制编辑器的使用
  2. 使用reactjs做一个CRUD功能
  3. AbstractBeanFactory 的getBean()方法调用FactoryBean
  4. Linux操作系统Ifconfig命令详细解析
  5. 【Shell 脚本】Mysql 定时备份
  6. 音视频重新封装的流程
  7. GitBash和GitGui右键失效解决方法
  8. Google Chrome如何恢复误删除书签和文件夹
  9. 具有层级关系的关系型数据库表设计
  10. Mysql 窗口函数
  11. NAS网络存储器(转)
  12. linux 命令 tr 详解
  13. react项目中遇到的几个问题
  14. linux系统安装flash
  15. 冲激响应不变法或双线性变换法中的参数T为什么是一个无关紧要的参数
  16. 4002 构造数组(可重复组合数问题--隔板法)
  17. 当税收遇到了电商 团购网站遭遇尴尬
  18. 绝地求生服务器在线人数,《绝地求生:大逃杀》同时在线人数突破165万 官方就服务器问题向玩家致歉...
  19. 用包过滤技术实现个人防火墙
  20. win10或win11右键管理找不到文件解决

热门文章

  1. 计算机丢失softwareinspect,logo1 systemInspect山泉查不到。。。和顶的又不一样[求助】...
  2. BJFU_OJ系统数据结构习题目录
  3. 项目开发中,数据库是怎么设计的?
  4. 什么是缓冲区溢出?(一)
  5. electron-vue通过配置文件设置baseUrl
  6. ucenter 简单分析与同步机制
  7. Apache CXF 简介
  8. bootstrap-select下拉选项数据超长换行显示
  9. 应用程序配置不正确,程序无法启动的问题小结
  10. WebView-WebView状态和加载方式