【发布时间】:2014-11-24 17:48:15
【问题描述】:
我有一些 JSON 对象,它们比我拥有的 java 对象的 JSON 表示形式更复杂。我有构建这些 JSON 对象的方法,我想直接返回并使用它们。我使用 org.json 库来构建我的 JSON。我可以通过将 JSON 对象作为String 返回来使GET 方法工作。这是正确的做法吗?
@RequestMapping(value = "/getjson", method = RequestMethod.GET, produces="application/json")
@ResponseBody
public String getJson() {
JSONObject json = new JSONObject();
JSONObject subJson = new JSONObject();
subJson .put("key", "value");
json.put("key", subJson);
return json.toString();
}
现在我想知道如何使用 JSON 对象?作为字符串并将其转换为 JSON 对象?
@RequestMapping(value = "/post", method = RequestMethod.POST, produces="application/json", consumes="application/json")
@ResponseBody
public String post(@RequestBody String json) {
JSONObject obj = new JSONObject(json);
//do some things with json, put some header information in json
return obj.toString();
}
这是解决我的问题的正确方法吗?我是新手,所以请指出任何可以做得更好的地方。请注意:我不想返回 POJO。
【问题讨论】:
标签: java json spring rest post