【发布时间】:2016-01-07 01:28:17
【问题描述】:
首先,对不起我的英语不好;
其次,我有以下代码:
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class UserAccount implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private List<Venda> vendas;
}
还有以下内容:
public class Venda implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private UserAccount cliente;
}
所以,一切都好,并以这种方式从序列化中获取 json(当我要求 UserAccount 时):
[
{
"id": 1,
"vendas": [
{
"id": 1,
"cliente": 1,
}
]
}
]
当我要文达时:
[
{
"id": 1,
"cliente": {
"id": 1,
"vendas": [
{
"id": 1,
"cliente": 1
}
]
}
}
]
问题是,在第一种情况下,我不需要“vendas”上的“cliente”信息,但在第二种情况下,我需要“cliente”信息,但是我不想要他的“vendas”,因为我之前已经拿到了;
我已经尝试过@JsonIgnore 并没有为我工作,我该怎么办?
PS:我正在与 GSON 合作从 JSON 中获取 .Class,但我得到了一个可怕的异常,因为有时客户是一个对象,有时是整数,所以如果你们有另一个解决方案,让客户和供应商不要'不要改变他们的类型,我也想知道。 :(
【问题讨论】:
-
使用 Gson 或 Jackson。不是两者都
-
@cricket_007 我将只使用 Jackson 进行新的测试,之后我会回来展示结果。
标签: java json jackson gson bidirectional