【发布时间】:2013-09-21 23:32:29
【问题描述】:
我试图弄清楚如何更好地处理 Spring MVC 中嵌套 Java 对象的 JSON 序列化/反序列化。
我的领域模型如下:
public class Cart {
private String id;
private Customer customerID;
private Checkout checkoutID;
private List<CartProduct> itemCatalogList;
*** ... getters & setters ... ***
}
public class ProductCart {
private String sku;
private String color;
private String sizeBase
private int qty;
*** ... getters & setters ... ***
}
public class Checkout {
private String id;
private String billingAddress;
private String shippingAddress;
private Cart cartID;
*** ... getters & setters ... ***
}
我在想的 JSon 是这样的:
结帐:
{
"cart": {
"$oid": "51f631cb84812abb04000006"
},
"shippingAddress" : "5h avenue - new york",
"billingAddress" : "5h avenue - new york"
}
购物车:
{
"customer": {
"$oid": "5174da574940368a9126e8dc"
},
"items_catalog": [
{
"sku": "00075161",
"color": "ff99cc",
"size_base": "IT_25",
"qty": 3,
},
{
"sku": "00075161",
"color": "ff99cc",
"size_base": "IT_27",
"qty": 2,
},
{
"sku": "00075161",
"color": "ff99cc",
"size_base": "IT_29",
"qty": 1,
}
}
假设这是一个可行的域模型和 json 文档,我如何在 Spring 中创建从 JSon 开始的结帐?
我的问题是我不知道如何“分解”结帐和购物车 json 中的 $oid 以创建结帐和购物车 Java Bean:
有没有办法让 Jackson 自动完成?
或者我应该创建一种拦截器来处理例如结帐 json 以检索购物车然后执行到 POJO 的映射?
(-或者还有第三种方式?)
非常感谢您的建议。
【问题讨论】:
标签: java json spring rest spring-mvc