Ich möchte etwas JSON (das ich aus einer Datei lese) nachbilden und es als Ergebnis eines Spring Controllers zurückgeben.Gebe JSON aus der Datei (JSONObject) zurück in Spring Controller
Datei enthält natürlich innerhalb richtigen JSON-Datenformat, wie:
{"country":"","city":""...}
Mein Controller wie folgt aussieht:
@RestController
@RequestMapping("/test")
public class TestController {
@Value("classpath:/META-INF/json/test.json")
private Resource testMockup;
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody JSONObject getTest() throws IOException {
JSONObject jsonObject = new JSONObject(FileUtils.readFileToString(testMockup.getFile(), CharEncoding.UTF_8));
return jsonObject;
}
}
Es mit dem Lesen der Datei selbst usw. jsonObject
selbst kein Problem ist, ist korrekt von debugging PoV, aber ich bekomme HTTP-Status 406 aus dem Browser. Ich habe auch versucht, nur String zurückgeben (durch die Rückkehr jsonObject.toString()
), anstatt JSONObject
. Es verursacht jedoch Codierung Problem - so dass JSON aus dem Browser, ist nicht die JSON selbst (einige zusätzliche Schrägstriche, Anführungszeichen usw.).
Gibt es eine Möglichkeit, JSON aus Datei zurückzugeben?
Entschuldigung, ich habe es gerade behoben. Es war ein Problem nur hier, auf meine Eingabe für dieses Thema, nicht in Code. JSON sieht gut aus: {"country": "", "city": ""} So Root-Ursache dieses Problems ist noch unbekannt. Irgendwelche Ideen? – Namek
Ersetzen Sie die leeren Zeichenfolgen durch Werte. –
Es ist nicht das Problem mit dem JSON selbst ... Bereits versucht mit: {"country": "test1", "city": "test2"} – Namek