我有一个json,其中一些键包含点。例如:
{
"key.1" : 10,
"key.2" : 20,
"key.3" : 30
}
我计划使用Jackson将其Map到MyClass模型对象中,方法如下:
ObjectMapper mapper = new ObjectMapper();
MyClass obj = mapper.readValue(json, MyClass.class
当然,我不能创建名称中带有点的类成员。
那么,有没有办法克服这种情况呢?
Jackson是首选,但不是强制性的。
1条答案
按热度按时间js81xvg61#
只需在字段声明的顶部使用注解
@JsonProperty
,其名称与字段的名称不同:一般来说,Jackson将把Json键Map到字段名 *,只有当您没有指定任何其他内容 * 时 *(因此它将通过反射进行)。然而,使用Jackson可以使用字段的注解修改字段的名称(而不仅仅是)。
顺便说一句,您还需要注解构造函数参数,以便将对象从Json反序列化为Java对象:
......然后您就可以做您想做的事情: