2011-08-12 33 views
6

tôi biết Nếu file User.json cóJackson - Json để POJO Với Nhiều Entries

{ 
    "name" : { "first" : "Joe", "last" : "Sixpack" }, 
    "gender" : "MALE", 
    "verified" : false, 
    "userImage" : "Rm9vYmFyIQ==" 
} 

tôi có thể xây dựng một đối tượng người dùng duy nhất như thế này:

User user = mapper.readValue(new File("user.json"), User.class); 

Nhưng làm thế nào để xây dựng một danh sách các đối tượng nếu tệp User.json có:

{ 
    "name" : { "first" : "Joe", "last" : "Sixpack" }, 
    "gender" : "MALE", 
    "verified" : false, 
    "userImage" : "Rm9vYmFyIQ==" 
}, 
{ 
    "name" : { "first" : "Jane", "last" : "Austen" }, 
    "gender" : "FEMALE", 
    "verified" : false, 
    "userImage" : "DFREWEWE==" 
} 

?

Trả lời

11

Nhiều cách: nếu bạn có một mảng JSON trong số này, bạn có thể làm:

User[] users = mapper.readValue(json, User[].class); 

hoặc, nếu nó chỉ là một chuỗi các giá trị cấp cơ bạn có thể làm:

Iterator<User> it = mapper.readValues(json, User.class); 

và lặp lại các giá trị (thêm vào Danh sách hoặc như vậy)

+0

Json ở trên trong mã của bạn là gì ??? Cung cấp cho các loại xin vui lòng vì vậy tôi có thể sử dụng nó quá. –

+0

từ mã trong câu hỏi, rõ ràng là 'json' là đối tượng Tệp, chứa văn bản JSON –

+0

Đúng - tôi không chỉ định loại vì nó có thể đến từ nhiều nguồn (hoặc thậm chí là JSON 'byte []' hoặc 'Chuỗi'). @ImtiazAhmad kiểm tra Jackson javadocs để biết các loại có thể tìm hiểu thêm. – StaxMan

Các vấn đề liên quan