我正在尝试将JSON转换为Java对象,但是我很难构建Java等效对象。
我的JSON看起来像这样
Amplitude
我需要在此处获取地图作为积分,因为将有n个积分,
{
"point1": {
"x": 1.0,
"y": 2.0
},
"point2": {
"x": 1.0,
"y": 2.0
},
"point3": {
"x": 1.0,
"y": 2.0
},
"customobject1": "cust1",
"customobject2": "cust2"
}
但是我遇到了无法识别的属性异常,我知道有一个导致该问题的额外包装器( {} ),有人可以建议我在反序列化JSON时如何忽略此映射名称吗?
注意:我正在使用的实际对象具有类似的结构,有点复杂,这里我只是发布一个原型。
答案 0 :(得分:2)
如果您事先不知道按键,请使用@JsonAnySetter
来映射它们:
标记注释,可用于定义一个非静态的,两个参数的方法(属性的第一个参数名称,第二个要设置的值),用作从JSON找到的所有其他无法识别的属性的“后备”处理程序内容。它的行为类似于XmlAnyElement。并且只能用于表示每种类型的单个属性。
如果使用,则将来自JSON对象值的所有其他未映射键值对添加到属性(类型为Map或bean)。
cphPayor