У меня есть некоторые объекты JSON, которые более сложны, чем JSON-представления объектов java, которые у меня есть. У меня есть методы, которые создают эти объекты JSON, и я хотел бы вернуться и использовать их напрямую. Я использую библиотеку org.json
для создания моих JSON. Я мог бы получить метод GET
, работая, возвращая объект JSON как String
. Правильно ли это сделать?
@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.