簡體   English   中英

Json反序列化對象列表-是真的嗎?

[英]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}
    ]
}

您可以使用JacksonObjectMapper類像這樣反序列化JSON: https : //stackoverflow.com/a/6349488/2413303

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM