JSONObject、JSONArray区别

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

[{name1:{name2:{name3:‘value1‘,name4:‘value2‘}}},{}]

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

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

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

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

  JSONArray.fromObject(String)

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

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

1,JSONObject

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

2,JSONArray

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

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

  1. JSONObject Json = new JSONObject();
  2. JSONArray JsonArray = new JSONArray();
  3. Json.put("key", "value");//JSONObject对象中添加键值对
  4. JsonArray.add(Json);//将JSONObject对象添加到Json数组中

3,JSONObject与Map

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

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

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

时间: 2024-10-07 06:29:53

JSONObject、JSONArray区别的相关文章

android Json 解析 JSONObject JSONArray

android Json 解析  JSONObject JSONArray 我只解析了一个,不管有多少个都以此方法类推,加上http://blog.csdn.net/menglele1314/article/details/46324069里的JSONArray解析,可以应付一般所以的开发了 try { String value = "{\"result\":\"S\", \"address\":[{\"shengfen\&q

String JSONObject JSONArray 转换

JSON使用阿里的fastJson为依赖包 gradle依赖管理如下: compile group: 'com.alibaba', name: 'fastjson', version:'1.2.41' 1.String转JSONObject 前言:String 是JSONObject格式的字符串 eg: JSONObject jSONObject = JSONObject.parseObject(String); 2.String转JSONArray 前言:String 是JSONArray格式

JSONObject JSONArray json字符串 HashMap ArryList 在java开发中用到的数据结构

1.JSONObject  长成这样的:   { "key1":value1, "key2":value2, "key3":value3} 大多数那样:{属性1:属性值1 ,属性2 :属性值2}  重要的是里面的属性值,里面可以放很多东西 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)(即是object都是可以的) ************** *************

解决嵌套list类型的JSONObject/JSONArray转换成原来list问题。

解决转换过程中,对象的集合类成员变量变成其他类型对象的问题. public class A { private List<B> blist ; public A(List<B> temp){ blist = temp; } public void setBlist(List<B> temp){ blist = temp; } public List<B> getBlist(){ return blist; } } public class Mainclass

关于JSONObject,JSONArray的使用

还是在excel导入.导出问题时碰到的,刚开始用字符串拼,现在用map或jsonobject,多点尝试. 由于导入.导出的表和数据都有点多,所以打算还是在主表里多设一格用于存附表的信息. JSONObject dataJson;JSONArray Array1;.............dataJson.put("Array1",Array1); dataJson.put("Array2",Array2); dataJson.put("Array3&quo

Java生成json串、JSONObject与JSONArray的使用

1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 2.JSONObject对象使用 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转

JSONObject和JSONArray解析和构造json字符串

JSON-lib包(最关键的两个类分别是JSONObject和JSONArray)完成对json的构造和一些基本方法的使用. 二者区别: ①JSONObject构造的字符串是键值对形式(key:value),多个键值对间以英文逗号连接: ②JSONArray构造的字符串是数组形式([array1,array2,...]). 需要使用的包下载链接:http://pan.baidu.com/s/1o7MZ8X8 一.JSONObject的使用. (1)JSON字符串的两种构造方法: ①使用Java对

JSON ,JSONArray和JSONObject

和 XML 一样,JSON 也是基于纯文本的数据格式.由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象. Json的基本结构是使用“{}”来包住对象,该对象包含键和值以冒号分隔,键值对之间以逗号分界,字符串要被包在双引号("")中,并且对象的键名字始终都是一个字符串,属性值可以使任何Json支持的数据类型,包括字

JSONObject和JSONArray

一.JSONObject和JSONArray的数据表示形式 JSONObject的数据是用 {  } 来表示的, 例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  } 而JSONArray,顾名思义是由JSONObject构成的数组,用  [ {