杰克逊嵌入式Java对象的反序列化
发布时间:2020-09-25 06:26:09 所属栏目:Java 来源:互联网
导读:我必须反序列化以下json使用杰克逊图书馆进入客户类 { code:C001, city: Pune, street: ABC Road} 和类作为 class Address{ String city; String street;}class Customer{ String code; Address addr
我必须反序列化以下json使用杰克逊图书馆进入客户类 { "code":"C001","city": "Pune","street": "ABC Road" } 和类作为 class Address{ String city; String street; } class Customer{ String code; Address address; } 我已经在堆栈上找到了类似的问题 但答案不适用于我的情况.另外我只想使用杰克逊图书馆. 如何将此json映射到Customer对象? 解决方法您可以在客户类的“地址”字段中添加一个 @JsonUnwrapped注释.这是一个例子:public class JacksonValue { final static String JSON = "{n" +" "code":"C001",n" +" "city": "Pune",n" +" "street": "ABC Road"n" +"}"; static class Address { public String city; public String street; @Override public String toString() { return "Address{" + "city='" + city + ''' + ",street='" + street + ''' + '}'; } } static class Customer { public String code; @JsonUnwrapped public Address address; @Override public String toString() { return "Customer{" + "code='" + code + ''' + ",address=" + address + '}'; } } public static void main(String[] args) throws IOException { final ObjectMapper mapper = new ObjectMapper(); System.out.println(mapper.readValue(JSON,Customer.class)); } } 输出: Customer{code='C001',address=Address{city='Pune',street='ABC Road'}} (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |