1. JSON-lib API介绍
JSON-lib API是一个开源的JSON处理工具,它提供了一个将Java对象与JSON数据进行转换的功能。它支持从JSON字符串到Java对象的转换和Java对象到JSON字符串的转换,可以很方便地将JSON字符串解析成Java对象,也可以将Java对象转换成JSON字符串。
2. 将JSON数组转换为数组
JSON-lib API可以很方便地将JSON串转换为Java数组,其中JSONArray是JSON-lib中用来表示数组的类。
2.1 示例JSON数组
首先,我们来看一下需要转换的JSON数组示例:
[
{
"id": 1,
"name": "John"
},
{
"id": 2,
"name": "Jane"
},
{
"id": 3,
"name": "Bob"
}
]
2.2 JSONArray转换数组
为了将JSON数组转换为Java数组,我们需要使用JSONArray类提供的方法。首先,我们需要通过JSON-lib解析该JSON数组生成一个JSONArray对象,然后再通过循环遍历JSONArray对象来构造Java数组。
下面是一个使用JSON-lib API将JSON数组转换为Java数组的示例代码:
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
String jsonStr = "[{\"id\":1,\"name\":\"John\"},{\"id\":2,\"name\":\"Jane\"},{\"id\":3,\"name\":\"Bob\"}]";
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
int size = jsonArray.size();
String[] ids = new String[size];
String[] names = new String[size];
for (int i = 0; i < size; i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
ids[i] = jsonObj.getString("id");
names[i] = jsonObj.getString("name");
}
for (int i = 0; i < size; i++) {
System.out.println("id: " + ids[i]);
System.out.println("name: " + names[i]);
}
}
}
在上面的示例中,我们首先定义一个JSON数组的字符串,然后通过JSONArray.fromObject()方法创建一个JSONArray对象,然后获取JSONArray的大小,根据大小来初始化Java数组。
然后,我们通过循环遍历JSONArray对象,获取每个JSONObject对象的属性值,将其赋值给Java数组。
最后,我们遍历Java数组并打印每个元素的值。
2.3 JSONArray转换List
JSONArray也可以转换为List,我们只需要创建一个List集合,然后通过JSONArray对象的toList()方法将JSONArray转换为List。
下面是将JSONArray转换为List的示例代码:
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
String jsonStr = "[{\"id\":1,\"name\":\"John\"},{\"id\":2,\"name\":\"Jane\"},{\"id\":3,\"name\":\"Bob\"}]";
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
List list = new ArrayList();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
list.add(jsonObj);
}
for (int i = 0; i < list.size(); i++) {
JSONObject jsonObj = (JSONObject) list.get(i);
System.out.println("id: " + jsonObj.getString("id"));
System.out.println("name: " + jsonObj.getString("name"));
}
}
}
在上述示例中,我们首先定义一个JSON数组的字符串,然后通过JSONArray.fromObject()创建一个JSONArray对象。
然后,我们创建一个List集合,并通过循环遍历JSONArray对象,获取每个JSONObject对象的属性值,将其添加到List集合中。
最后,我们遍历List集合并打印每个元素的值。
3. 总结
在本文中,我们介绍了如何使用JSON-lib API将JSON数组转换为Java数组或者List集合。虽然JSON-lib依然是一个较老的JSON处理工具,但其使用起来非常方便,特别适用于一些小型应用程序的开发。