JSONObject、JSONArray

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

之前用到的json,就是一个键相应一个值,超级简单的一对一关系。如今用到的json那能够层层嵌套啊,刚開始接触的时候,确实有种崩溃的赶脚,不想去理。取个数据还那么麻烦。

事实上,就跟if else语句一样,假设if中套if,if中再套if。写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦。所以啊,对于json嵌套,仅仅要记住符号“:”前是键,符号后是值大括号成对找,一层层剥开。就清楚了。 举个样例说明,例如以下:

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

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

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

时间: 2024-10-19 18:53:40

JSONObject、JSONArray的相关文章

011-JSON、JSONObject、JSONArray使用、JSON数组形式字符串转换为List&lt;Map&lt;String,String&gt;&gt;的8种方法

一.JSON数据格式 1.1.常用JSON数据格式 1.对象方式:JSONObject的数据是用 { } 来表示的, 例如: { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null } 2.数组方式:JSONArray,顾名思义是由JSONObject构成的数组,用

json处理简解[JSONObject、JSONArray]

json处理目前有已经成熟使用的jar能够支持相关处理,json-lib 常用方法为put.putAll.addput方法传参为:key.value/jsonObject 支持json对象赋值和包装子json串(即json串赋值中value值可以为一个json对象)putAll方法传参为:jsonObject 支持json对象赋值(将一个json对象直接赋值给另外一个)add方法传参为数组位置和数组对象add(int index, Object value) soapui使用示例: json对象

fastjson之JSONObject、JSONArray

JSONObject,JSONArray是JSON的两个子类. 首先我们来看JSONObject源码: 会发现JSONObject是继承Map<String, Object>,并且都是使用的Map中的方法.可以说JSONObject相当于Map<String, Object> 看个具体的列子: /** * 将Map转成JSONObject,然后添加元素,输出 */ @Test public void testJsonObject() { Map<String, Object&

JSONObject、JSONArray区别

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

json、JSONObject、JSONArray的应用

type.java package jiekou.duixiang; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; import util.Constant; public class Type { private String id; private String name; private String image; private String level;

Gson解析JsonObject和JsonArray

http://www.cnblogs.com/codingyuan/p/5837663.html Gson中重要的几个核心类: Gson.JsonParser.JsonObject.JsonArray. 下面就是解析的步骤: public void parserJsonArray(String strJson){ //创建一个Gson对象 Gson gson = new Gson(); //创建一个JsonParser JsonParser parser = new JsonParser();

JSONObject与JSONArray的使用区别

最近公司开发的几个项目中,后台Action向前端传递数据都是Json格式,于是对JSONObject.JSONArray简单的研究了一下,废话不多说,想使用JSONObject.JSONArray,策则在项目中必须要有commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar  ezmorph.jar json-lib-2.2.2-jdk15.jar 这些Jar包. 1.JSONObject

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对