Да, я знаю, что этот вопрос обсуждался несколько раз, но мне не удалось решить мою проблему.Не удалось прочитать JSON: Нераспознанное поле (...), не отмечено как невежественное
Так я получаю JSONObject из HTTP-запроса с использованием org.springframework.web.client.RestTemplate:
JSONObject j = RestTemplate.getForObject(url, JSONObject.class);
Но я получаю эту ошибку:
Exception in thread "main" org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Unrecognized field "uri" (Class org.json.JSONObject), not marked as ignorable
at [Source: [email protected]6c5f; line: 2, column: 12] (through reference chain: org.json.JSONObject["uri"]); nested exception is org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "uri" (Class org.json.JSONObject), not marked as ignorable
at [Source: [email protected]6c5f; line: 2, column: 12] (through reference chain: org.json.JSONObject["uri"])
at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.readJavaType(MappingJacksonHttpMessageConverter.java:181)
at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.read(MappingJacksonHttpMessageConverter.java:173)
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:94)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:517)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:472)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:237)
I хотите получить доступ к Rest-Api, а объекты Json могут иметь разные имена полей. Я уже пробовал @JsonIgnoreProperties(ignoreUnknown=true)
. Но это не сработает ...
Как получить ответ в JSONObject?
Я читал об этом, но как именно я использую метод readValue()? – Maik
Хорошо, я понял, но теперь я получаю «Исключение в потоке» main «org.codehaus.jackson.JsonParseException: Неожиданный символ (« h »(код 104)): ожидается допустимое значение (число, строка, array, object, 'true', 'false' или 'null') ' – Maik
Извините за так много ответов. Я работаю над этим и запускаю его. Спасибо, сейчас! – Maik