Я хотел бы объединить некоторые JSON (который я читаю из файла) и вернуть его в результате некоторого Spring Controller.Возвращение издевается над JSON из файла (JSONObject) в контроллере Spring
Файл содержит конечно правильный формат данных JSON внутри, как:
{"country":"","city":""...}
Мой контроллер выглядит следующим образом:
@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;
}
}
Там нет проблемы с чтением самого файла и т.д. jsonObject
сам, правильно от debbuging PoV, однако я получаю HTTP-статус 406 из браузера. Я попробовал также просто вернуть String (возвращая jsonObject.toString()
), а не JSONObject
. Однако это вызывает проблему с кодировкой - так что JSON из браузера не является самой JSON (некоторые дополнительные косые черты, кавычки и т. Д.).
Есть ли способ, чтобы вернуть JSON из файла?
Извините, я только что исправил это. Это была проблема только здесь, на мой вклад в эту тему, а не в код. JSON выглядит хорошо: {"country": "", "city": ""} Так что коренная причина этой проблемы пока неизвестна. Любые идеи? – Namek
Попробуйте заменить пустые строки на значения. –
Это не проблема с самим JSON ... Уже пробовался с: {"country": "test1", "city": "test2"} – Namek