Produzindo e consumindo objetos JSON personalizados nos serviços RESTful do Spring

Eu tenho alguns objetos JSON que são mais complexos que as representações JSON dos objetos java que tenho. Eu tenho métodos que constroem esses objetos JSON e gostaria de retornar e consumi-los diretamente. eu usoorg.json biblioteca para construir meus JSONs. Eu poderia pegar oGET método trabalhando retornando o objeto JSON como umString. Essa é a maneira correta de fazer isso?

@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();
}

Agora eu quero saber como consumir um objeto JSON? Como uma string e convertê-lo em um objeto 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();
    }

É este o caminho correto para resolver meu problema? Sou iniciante, por favor, indique qualquer coisa que possa ser melhorada. Observação: não quero devolver POJOs.

questionAnswers(4)

yourAnswerToTheQuestion