我想创建一个json请求,如下所示:
"additionalData": {
"riskdata.basket.item1.sku": "045155",
"riskdata.basket.item1.quantity": "1"
"riskdata.basket.item2.sku": "0451166",
"riskdata.basket.item2.quantity": "1"
...
"riskdata.basket.item4.sku": "0451111",
"riskdata.basket.item4.quantity": "2"
请建议如何在对象映射中动态设置JsonProperty值。
示例:deliveryMethod是一个常量字段,因此我可以使用JsonProperty注释进行如下映射。但是,我如何使用JsonProperty来获取sku和数量,以便它可以接受尽可能多的数字。任何建议都会有所帮助。
public class AdditionalData implements java.io.Serializable
{
@JsonProperty(value = "riskdata.deliveryMethod")
private String deliveryMethod;
@JsonProperty(value = "riskdata.basket.item??.sku")
private String sku;
@JsonProperty(value = "riskdata.basket.item??.quantity")
private String quantity;
}
答案 0 :(得分:0)
您可以在basket[]
课程中创建AdditionalData
数组属性。
public class AdditionalData implements java.io.Serializable
{
@JsonProperty(value = "riskdata.deliveryMethod")
private String deliveryMethod;
@JsonProperty(value = "riskdata.basket")
private Basket[] basket;
}
public class Basket implements java.io.Serializable
{
@JsonProperty(value = "sku")
private String sku;
@JsonProperty(value = "quantity")
private String quantity;
}
并改变你的json结构:
"additionalData": {
"riskdata.basket": [
{
"sku": "045155",
"quantity": 1"
},
{
"sku": "045156",
"quantity": 1"
}]
}