弹簧休息服务消耗动态json字段

时间:2016-10-10 15:16:23

标签: json spring mongodb rest request

我从javascript获得了更新mongoDb集合的json请求。 json映射到我的java类(Person)的一部分,但内部json我映射到JsonObject,因为动态字段的名称。 将dyamic字段的名称映射到JsonObject不能完成工作。 我如何映射Person类中的dyamic字段以保持它在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) {

   ......

}

1 个答案:

答案 0 :(得分:1)

如何从客户端发布键值列表的解决方案是定义jsonObject 作为[package] name = "minimal_example_2" version = "0.1.0" authors = ["User"] [dependencies] num = "0.1.36"

  

现在它对我有用

Map<String,Object>.