Wenn Sie die Ausgabe manipulieren müssen, das heißt, Sie wollen nicht alle Felder des Objekts zur Verfügung zu stellen Sie JSonArray verwenden können:
@RequestMapping(value = "/api/users", method = RequestMethod.GET)
public
@ResponseBody
String listUsersJson(ModelMap model) throws JSONException {
JSONArray userArray = new JSONArray();
for (User user : userRepository.findAll()) {
JSONObject userJSON = new JSONObject();
userJSON.put("id", user.getId());
userJSON.put("firstName", user.getFirstName());
userJSON.put("lastName", user.getLastName());
userJSON.put("email", user.getEmail());
userArray.put(userJSON);
}
return userArray.toString();
}
Verwenden Sie das Beispiel von here
Andernfalls, wenn Sie fügen jackson zu Ihren Abhängigkeiten hinzu und legen die Controller-Methode fest, die mit gekennzeichnet ist. Die Antwort wird automatisch JSON zugeordnet. Überprüfen Sie here für ein einfaches Beispiel.
Also in Ihrem Projekt haben Sie Jackson zur Verfügung rechts ... dann, wenn Sie die Karte aus dem Controller mit @ResponseBody Annotation dann wird es automatisch umgewandelt in ein JSON-Objekt von Feder-Konverter –
Ich werde die Karte in a POJO mit model.addAttribute ("pojo", pojo) – user4127