一、Json数组基础概述
Json数组是一组有序的值集合。每一个值被称为元素,数组中的元素可以是字符串、数字、bool值、对象或者是其他的数组。Json数组用中括号[]包含,元素之间用逗号隔开。
下面是一个例子:
[ "Java", 123, true, { "name": "Tom", "age": 20 } ]
上面的例子包含了字符串、整数、布尔值和一个Json对象。
二、创建Java Json数组
Java中使用org.json库来操作Json数组。创建Json数组非常简单,只需要使用JSONArray类的构造方法即可。
JSONArray jsonArray = new JSONArray(); jsonArray.put("Java"); jsonArray.put(123); jsonArray.put(true);
上述代码创建了一个空的Json数组,然后依次添加了一个字符串、一个整数和一个布尔值。
三、访问Java Json数组
Java Json数组的元素访问可以使用get()或者opt()方法。get()方法将会抛出异常,但是opt()方法在索引越界时不会抛出异常,而是返回一个空值。
JSONArray jsonArray = new JSONArray(); jsonArray.put("Java"); jsonArray.put(123); jsonArray.put(true); String strValue = jsonArray.getString(0); // 获取第一个元素的字符串值 int intValue = jsonArray.getInt(1); // 获取第二个元素的整型值 boolean boolValue = jsonArray.getBoolean(2); // 获取第三个元素的布尔值
四、遍历Java Json数组
Java Json数组的遍历可以使用for循环或者是迭代器来进行。下面是一个使用for循环来遍历Json数组的例子。
JSONArray jsonArray = new JSONArray(); jsonArray.put("Java"); jsonArray.put(123); jsonArray.put(true); for(int i = 0; i < jsonArray.length(); i++) { Object obj = jsonArray.get(i); System.out.println(obj.toString()); }
五、操作Java Json数组
Java Json数组支持的操作包括添加、删除、清空和判断是否包含某元素等。
(1)添加元素
JSONArray jsonArray = new JSONArray(); jsonArray.put("Java"); jsonArray.put(123); jsonArray.put(true); JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "Tom"); jsonObject.put("age", 20); jsonArray.put(jsonObject); // 添加Json对象元素
(2)删除元素
JSONArray jsonArray = new JSONArray(); jsonArray.put("Java"); jsonArray.put(123); jsonArray.put(true); jsonArray.remove(2); // 删除第三个元素,布尔值true
(3)清空数组
JSONArray jsonArray = new JSONArray(); jsonArray.put("Java"); jsonArray.put(123); jsonArray.put(true); jsonArray.clear(); // 清空数组中所有元素
(4)判断是否包含元素
JSONArray jsonArray = new JSONArray(); jsonArray.put("Java"); jsonArray.put(123); jsonArray.put(true); boolean contains = jsonArray.contains(true); // 判断数组中是否包含true元素
六、Java Json数组与Java对象的转换
Java对象可以转换成Json对象或者Json数组,同样的,Json对象和Json数组也可以转换成Java对象。
(1)Java对象转换成Json数组
List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++"); JSONArray jsonArray = new JSONArray(list); // 将list转换成Json数组
(2)Json对象转换成Java对象
String jsonString = "{"name":"Tom","age":20}"; JSONObject jsonObject = new JSONObject(jsonString); // 将Json对象转换成Java对象 String name = jsonObject.getString("name"); int age = jsonObject.getInt("age");
七、Java Json数组与Json字符串的互相转换
Java Json数组和Json字符串之间的转换非常简单,只需要调用对应的方法即可。
(1)Java Json数组转换成Json字符串
JSONArray jsonArray = new JSONArray(); jsonArray.put("Java"); jsonArray.put(123); jsonArray.put(true); String jsonString = jsonArray.toString(); // 将Json数组转换成Json字符串
(2)Json字符串转换成Java Json数组
String jsonString = "["Java",123,true]"; JSONArray jsonArray = new JSONArray(jsonString); // 将Json字符串转换成Json数组
八、总结
本文对Java Json数组进行了深入的讲解,介绍了Json数组的基础概念、创建、访问、遍历、操作以及Json数组与Java对象、Json字符串之间的互相转换等方面的内容。希望能够对读者在实践中操作Json数组有所帮助。