SpringREST服务使用动态json字段

SpringREST服务使用动态json字段,json,spring,mongodb,rest,request,Json,Spring,Mongodb,Rest,Request,我从javascript获得了更新mongoDb集合的json请求。 部分json映射到我的java类(Person),但内部json映射到JsonObject是因为动态字段的名称。 将动态字段的名称映射到JsonObject并不起作用。 如何映射Person类中的动态字段以保持其在mongo db中的状态 但结果是: { "person": "david", "family": "david family", "address":"david street", "person_d

我从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**
                }
}
我的控制器:

@RequestMapping(value={"/updatePerson"},method=RequestMethod.POST,consume="application/json")
public @ResponseBody ClientReturn clientReturn updatePerson(@RequestBody Person person) {

   ......

}

如何从客户端发布键值列表的解决方案是定义jsonObject 作为地图。

现在是我的工作了

public Class Person{

   private String person;
   private String family;
   private Map<String,Object> person_detail;
   private Map<String,Object> address_detail;

   getter...

   setter...

}
公共类人物{
私人串人;
私弦家庭;
私人地图个人详细信息;
私人地图地址_详情;
盖特。。。
塞特。。。
}

您正在尝试将列表映射到Json对象。您应该将其映射到JSONArray。如果您使用的是Jackson,您可以直接将其映射到列表。
public Class Person{

   private String person;
   private String family;
   private Map<String,Object> person_detail;
   private Map<String,Object> address_detail;

   getter...

   setter...

}