【发布时间】:2023-03-29 15:05:01
【问题描述】:
我想创建一个如下所示的 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;
}
【问题讨论】:
-
首先,这不是在 json 中构建数据的理想方式。理想情况下,您应该使用数组对象。
-
谢谢!我知道这不是构建 json 的理想方式;但是这将被要求我们发送此特定格式的第 3 方应用程序接受。因此,任何帮助都会有所帮助。
-
不幸的是,我认为唯一的另一种方法是自定义 ObjectMapper(编写自己的)并使用它自定义将对象转换为 json。