使用REST服务接收数据时出现问题。 我通过RequestBody接收包含许多属性的实体A.其中一个是一组实体B.
让我们说:
Class A {
Set<B> setOfB;
...
}
Class B {
Integer id;
String lastName;
}
如果我收到这样的json:
{"setOfB": [{"id":1, "lastName":"lastName1"},{"id":2, "lastName":"lastName2"}]}
它会起作用。顺便说一下,如果我取下id或给2个具有相同id的对象,它将得到与我在下面描述的问题相同的结果。
出于某种原因,我只需要收到一个字符串列表:
{"setOfB": ["lastName1", "lastName1"]}
在这种情况下,我的实体只有一个具有第一个值的集合(作为B实体)。
你知道我怎么能管理这个:得到字符串列表并告诉Java每个字符串是对象A的lastName属性吗?
答案 0 :(得分:0)
您可以修改您的JSON并将其更改为如下所示。
{“setOfB”:[{“lastName”:“lastName1”},{“lastName”:“lastName2”}}}
它会起作用。但是如果您要发送{“setOfB”:[“lastName1”,“lastName1”]},java会将其视为字符串列表。并且它无法将JSON解析为对象。