您的位置:首页 > Web前端 > JavaScript

JSONArray介绍与操作

2015-08-30 09:17 676 查看
前面两篇主要介绍了JSON的基本概念和JS中对JSON的基本操作,这里再介绍一下Java端解析JSON的方法。本文采用的JSON的解析包是JSON-lib,JSON-lib是一个JAVA端的JSON解析类库,可以将beans, maps, collections, java arrays和XML转化为JSON,反之亦然。

JSON-lib包的官网:

http://json-lib.sourceforge.net/使用JSON-lib还需要一些依赖包:jakarta commons-lang 2.5jakarta commons-beanutils 1.8.0jakarta commons-collections 3.2.1jakarta commons-logging 1.1.1ezmorph 1.0.6下面先看一下代码以及输出结果:_____________________________________________________________________________代码:
public class JSONArr {

public static void main(String[] args) {

/**
* 通过字符串构建JSONArray
* 方法一:fromObject(字符串);
*/
JSONArray jrFromString = new JSONArray();
String str = "[\"Java\", \"C++\"]";
jrFromString = jrFromString.fromObject(str);
System.out.println("JSONArray------>fromObject(字符串): " + jrFromString);

/**
* 方法二:add(字符串);
*/
JSONArray jrFromString1 = new JSONArray();
jrFromString1.add(str);
System.out.println("JSONArray------>add(字符串): " + jrFromString1);

System.out.println("____________________________________________________");

/**
* 通过数组构建JSONArray
* 方法一:fromObject(字符串);
*/
JSONArray jrFromArray = new JSONArray();
String[] arrStr = new String[3];
arrStr[0] = "Java";
arrStr[1] = "C++";
arrStr[2] = "JavaScript";
jrFromArray = jrFromArray.fromObject(arrStr);
System.out.println("JSONArray----->fromObject(数组):  " + jrFromArray);

/**
* 方法二:add(字符串);
*/
JSONArray jrFromArray1 = new JSONArray();
jrFromArray1.add(arrStr);
System.out.println("JSONArray----->add(数组):  " + jrFromArray1);

System.out.println("____________________________________________________");

/**
* 通过List构建JSONArray
* 方法一:fromObject(list)
*/
JSONArray jrFromList = new JSONArray();
List<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
jrFromList = jrFromList.fromObject(list);
System.out.println("JSONArray----->fromObject(List): " + jrFromList);

/**
* 方法二:addAll(list)
*/
JSONArray jrFromList1 = new JSONArray();
jrFromList1.addAll(list);
System.out.println("JSONArray----->addAll(List): " + jrFromList1);

System.out.println("____________________________________________________");

/**
* 通过Map构建JSONArray
* 方式一:fromObject(map)
*/
JSONArray jrFromMap = new JSONArray();
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("Jack", 22);
map.put("Lily", 20);
map.put("Tom", 24);
jrFromMap = jrFromMap.fromObject(map);
System.out.println("JSONArray----->fromObject(Map): " + jrFromMap);

/**
* 方式二:add(map)
*/
JSONArray jrFromMap1 = new JSONArray();
jrFromMap1.add(map);
System.out.println("JSONArray----->add(Map): " + jrFromMap1);

System.out.println("____________________________________________________");

/**
* 通过对象构建JSONArray
*/
JSONArray jrFromObject = new JSONArray();
jrFromObject.add(new Person("李明", 22));
jrFromObject.add(new Person("张灵", 33));
System.out.println("JSONArray----->add(对象): " + jrFromObject);

System.out.println("____________________________________________________");

/**
*直接通过add方法构建数据
*/
JSONArray jsonArray = new JSONArray();
jsonArray.add("aa");
jsonArray.add("bb");
jsonArray.add("cc");
System.out.println("JSONArray----->add(): " + jsonArray);

}

}
输出:JSON-lib的API提供了几种操作Java元素的方法:add(Object value)fromObject(Object value)addAll(Collection collection)可以看出add(Object value)可以添加一个Java对象到JSONArray中,它可以是所有Java对象,fromObject(Object value)同样也可以接收所有Java对象,所不同的是add方法是将对象顺序添加到JSONArray数组的末尾,而fromObject方法是直接将相应的Java对象转化为数组,所以使用fromObject()方法将字符串、数组、集合和枚举转化为JSONArray对象会更有效。addAll()方法,不难看出他操作的是Java中的集合对象。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: