将Jackson-Jsog的@id分配给成员变量

时间:2016-01-21 14:21:36

标签: jackson jsog

是否可以将jsog的@id值分配给POJO类中的成员变量?

例如我有一个json:

console.log(document.cookie)

和Java类

"user": {
   "@id": "1",
   "name": "John Doe"
}

我尝试了@JsonIdentityInfo(generator=JSOGGenerator.class) public class User { private String id; // this is null private String name; // getters and setters ... } 但我的@JsonProperty("@id")仍然是id。有没有人有这方面的经验?我不想在我的JSON中添加另一个null字段,因为它会让它变得难看。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

标识符“@id”不是有效的Java属性,因为它以“@”字符开头。这是一个很好的功能,因为它不会与您对象上的任何属性冲突。

我不确定如何将该属性转换为Java属性,但您可能不想这样做。 @id纯粹用于对象图的序列化/反序列化;如果对象图已更改,则@id值可能会随每个序列化而更改。

您无法在序列化之外以有意义的方式将@id用作对象的标识符。您可能想要一个不会因序列化而改变的真实ID。