0

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

例如我有一个json:

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

和Java类

@JsonIdentityInfo(generator=JSOGGenerator.class)
public class User {

   private String id; // this is null

   private String name;

   // getters and setters ...
}

我试过@JsonProperty("@id")了,但我id仍然是null。有没有人有这方面的经验?我不想id在我的 JSON 中添加另一个字段,因为它使它很难看。

先感谢您。

4

1 回答 1

0

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

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

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

于 2016-12-01T15:12:48.313 回答