json的string字符串与java的list列表对象的相互转换
时间: 2023-05-04 15:02:44 浏览: 181
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON数据可以用字符串表示,而在Java中,我们经常使用List来表示一个具有多个元素的集合。在实际的开发中,经常需要将JSON字符串转换为Java中的List对象,或者将一个List对象转换为JSON字符串。
对于将JSON字符串转换为Java中的List对象的情况,可以使用JSON解析库,如Jackson、Gson等。这些库提供了将JSON字符串转换为Java对象的方法。以Gson为例,可以使用以下代码将JSON字符串转换为List对象:
```
String jsonString = "[{"name": "张三", "age": 20}, {"name": "李四", "age": 22}]";
Gson gson = new Gson();
Type listType = new TypeToken<List<Person>>(){}.getType(); // Person是自定义的类
List<Person> personList = gson.fromJson(jsonString, listType);
```
在将Java中的List对象转换为JSON字符串时,也可以使用相应的JSON转换库。以Jackson为例,可以使用以下代码将List对象转换为JSON字符串:
```
List<Person> personList = new ArrayList<>();
personList.add(new Person("张三", 20));
personList.add(new Person("李四", 22));
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = objectMapper.writeValueAsString(personList);
```
需要注意的是,在将Java对象转换为JSON字符串时,Java对象必须满足一定的规范,例如必须包含默认的无参构造函数、成员变量必须有对应的getter和setter方法等。同时,JSON中的key与Java对象的成员变量名需要完全一致。
阅读全文