{ "name": "John", "age": 30, "city": "New York", "hobbies": ["reading", "swimming", "traveling"], "isMarried": false } 转成list长什么样
时间: 2023-07-06 14:35:52 浏览: 224
将上述 JSON 数据转化为 List 的过程需要根据具体的需求进行处理,下面给出两种常见的方式:
1. 将 JSON 数据转化为 Map 类型的 List
可以将每个 JSON 对象转化为一个 Map 对象,然后将所有 Map 对象存储在 List 中。这种方式的代码示例如下:
```java
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class JsonToListExample {
public static void main(String[] args) {
String jsonStr = "{\"name\": \"John\", \"age\": 30, \"city\": \"New York\", \"hobbies\": [\"reading\", \"swimming\", \"traveling\"], \"isMarried\": false }";
Gson gson = new Gson();
Map<String, Object> map = gson.fromJson(jsonStr, new TypeToken<Map<String, Object>>(){}.getType());
List<Map<String, Object>> list = new ArrayList<>();
list.add(map);
System.out.println(list);
}
}
```
执行上述代码,输出的结果为:
```
[{name=John, age=30.0, city=New York, hobbies=[reading, swimming, traveling], isMarried=false}]
```
可以看到,将 JSON 数据转化为 Map 类型的 List 后,每个 JSON 对象都被转化为一个 Map 对象,然后存储在 List 中。
2. 将 JSON 数据转化为自定义类型的 List
可以定义一个与 JSON 对象对应的 Java 类,然后使用 Gson 将 JSON 数据转化为该类的对象,最后将所有对象存储在 List 中。这种方式的代码示例如下:
```java
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class JsonToListExample {
public static void main(String[] args) {
String jsonStr = "{\"name\": \"John\", \"age\": 30, \"city\": \"New York\", \"hobbies\": [\"reading\", \"swimming\", \"traveling\"], \"isMarried\": false }";
Gson gson = new Gson();
Person person = gson.fromJson(jsonStr, Person.class);
List<Person> list = new ArrayList<>();
list.add(person);
System.out.println(list);
}
}
class Person {
String name;
int age;
String city;
List<String> hobbies;
boolean isMarried;
}
```
执行上述代码,输出的结果为:
```
[{name=John, age=30, city=New York, hobbies=[reading, swimming, traveling], isMarried=false}]
```
可以看到,将 JSON 数据转化为自定义类型的 List 后,每个 JSON 对象都被转化为一个对应的 Java 对象,然后存储在 List 中。
阅读全文