2011-10-21 33 views
5

Tôi có một đối tượng Json quay trở lại với cùng thuộc tính với các mục đích khác nhau dựa trên yêu cầu (kết quả là Json nằm ngoài tầm kiểm soát của tôi). Tôi chỉ quan tâm đến giá trị tài sản khi tôi thực hiện một yêu cầu cụ thể. Có cách nào để sử dụng quan điểm cho deserialization hoặc cái gì khác mà sẽ có điều kiện tuyên truyền các pojo?Jackson Json View for Deserialization

Ví dụ: Json

"boo": 
{ 
    "a": "foo" 
} 

"boo": 
{ 
    "a": { "x": 3 } 
} 

Java

public class Views { 
    public static class WhatIWant {} 
    public static class SomeOtherThings {} 
} 

public class Result { 
    @JsonView(View.WhatIWant) 
    public string a; 
} 

Result r = mapper.getDeserializationConfig() 
       .setDeserializationView(Views.WhatIWant.class)?? 
       .readValue(node, Result.class); 

Trả lời

3

Trong Jackson, JSON Views là dành cho chỉ serialization.

Để deserialize dữ liệu JSON vào đôi khi một chuỗi và các lần khác một đối tượng sẽ yêu cầu custom deserialization processing.

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