### JSON与List之间的转换 在Java开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。因此,在处理Web服务或者进行前后端数据交互时,JSON成为了首选的数据格式之一。在实际应用中,我们经常需要将JSON数据转换为Java对象,例如将JSON转换为List集合,或者将Java对象转换为JSON字符串。本文将详细介绍如何在Java中实现JSON与List之间的转换。 #### JSON转换为List 我们需要了解如何将JSON字符串转换为Java中的List集合。这里我们将使用`JSONArray`类来帮助完成转换过程。`JSONArray`是Apache Commons Lang库中的一个类,可以用来表示JSON数组,并提供了多种方法来操作和转换JSON数据。 ##### 示例1:使用`JSONArray.fromObject()`方法 ```java @Test public void jsonToList1() { String json = "[{'name':'huangbiao','age':15},{'name':'liumei','age':14}]"; JSONArray jsonArray = JSONArray.fromObject(json); System.out.println(jsonArray); List<Person> list = (List<Person>) JSONArray.toList(jsonArray, Person.class); Iterator<Person> it = list.iterator(); while (it.hasNext()) { Person p = it.next(); System.out.println(p.getAge()); } } ``` 在这个例子中,我们首先定义了一个包含两个对象的JSON字符串。然后,通过调用`JSONArray.fromObject(json)`方法将这个JSON字符串转换为`JSONArray`对象。接下来,使用`JSONArray.toList()`方法将`JSONArray`对象转换为`List<Person>`。遍历这个列表并打印每个`Person`对象的年龄。 ##### 示例2:使用自定义配置 ```java @Test public void jsonToList2() { String json = "[{'name':'huangbiao','age':15},{'name':'liumei','age':14}]"; JSONArray jsonArray = JSONArray.fromObject(json); System.out.println(jsonArray); System.out.println("------------"); List<Person> list = (List<Person>) JSONArray.toList(jsonArray, new Person(), new JsonConfig()); Iterator<Person> it = list.iterator(); while (it.hasNext()) { Person p = it.next(); System.out.println(p.getAge()); } } ``` 在这个示例中,我们同样使用了`JSONArray.toList()`方法,但这次传入了一个新的`Person`实例和一个`JsonConfig`对象。`JsonConfig`用于定制JSON转换的过程,比如忽略某些字段、修改字段名称等。 #### Java对象转换为JSON 除了将JSON转换为Java对象外,我们也经常需要将Java对象转换为JSON字符串。这通常在需要将数据发送到客户端或者存储到数据库时使用。 ```java List<Person> list = new LinkedList<>(); for (int i = 0; i < 3; i++) { Person p = new Person(); p.setAge(i); p.setName("name" + i); list.add(p); } JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray); ``` 在这个示例中,我们创建了一个包含三个`Person`对象的`List`。接着,通过调用`JSONArray.fromObject(list)`将这个`List`转换为`JSONArray`对象,最终输出转换后的JSON字符串。 ### 总结 本文介绍了如何在Java中实现JSON与List之间的相互转换。通过使用`JSONArray`类提供的方法,我们可以轻松地将JSON字符串转换为Java对象,也可以将Java对象转换为JSON字符串。这些转换技术对于处理前后端数据交互、存储数据等方面非常有用。希望本文能帮助你在实际项目中更好地理解和应用这些技术。
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助