【发布时间】:2016-10-10 15:16:23
【问题描述】:
我从 javascript 收到更新 mongoDb 集合的 json 请求。 部分 json 映射到我的 java 类(Person),但内部 json 我映射到 JsonObject 因为动态字段的名称。 将动态字段的名称映射到 JsonObject 不会完成这项工作。 我如何映射 Person 类中的动态字段以使其在 mongo db 中保持原样
但结果是:
{ "person": "david",
"family": "david family",
"address":"david street",
"person_detail":{
"members":{} **<=== should be list of key value**
},
"address_detail":{
"members":{} **<=== should be list of key value**
}
}
我希望“person_detail”和“address_detail”将包含键值列表
我通过@requestBody 使用json。 我如何定义应该获取动态字段的类的名称。
例如:
{ "person": "david",
"family": "david family",
"address":"david street",
"person_detail":{... collection of unknown pairs key value ....},
"address_detail":{... collection of unknown pairs key value ....}
}
public Class Person{
private String person;
private String family;
private JsonObject person_detail;
private JsonObject address_detail;
getter...
setter...
}
我的控制器:
@RequestMapping(value={"/updatePerson"},method=RequestMethod.POST,consume="application/json")
public @ResponseBody ClientReturn clientReturn updatePerson(@RequestBody Person person) {
......
}
【问题讨论】:
-
您正在尝试将列表映射到 Json 对象。您应该将其映射到 JSONArray。如果您使用的是 Jackson,则可以直接将其映射到列表。
标签: json spring mongodb rest request