[英]Json deserialize object to list - is it real?
假設我們有這樣的JSON對象:
{
"employees" : {
"Mike" : 23,
"Bill" : 42,
"Jimmy" : 30
}
}
接下來的課程:
public class Employees {
private List<Employee> employees;
}
public class Employee {
private String name;
private int age;
}
我們是否可以將json反序列化為Employees類型的對象?
列表可用於反序列化元素數組[...]
但{...}
是對象。 如果您願意,可以考慮使用Map
而不是List
class Data {
Map<String,String> employees;
}
...
Gson gson = new Gson();
Data data = gson.fromJson(json, Data.class);
for (Map.Entry<String, String> emp: data.employees.entrySet())
System.out.println(emp.getKey()+" -> "+emp.getValue());
輸出:
Mike -> 23
Bill -> 42
Jimmy -> 30
如果您想使用這些類來解析json
public class Employees {
private List<Employee> employees;
}
public class Employee {
private String name;
private int age;
}
您的數據應如下所示:
{
"employees" : [
{"name":"Mike", "age": 23},
{"name":"Bill", "age": 42},
{"name":"Jimmy", "age": 30}
]
}
您可以使用Jackson
的ObjectMapper
類像這樣反序列化JSON: https : //stackoverflow.com/a/6349488/2413303
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.