Исключение JsonParseException: недопустимый начальный байт UTF-8 0x91 — загрузка пружины шаблона Rest

#json #spring-boot #unicode #jackson #resttemplate

#json #весенняя загрузка #юникод #джексон #resttemplate

Вопрос:

Этот вопрос задавался в Stackoverflow несколько раз. Но я не смог найти решение для моего конкретного сценария. Во всех этих случаях решение состоит в том, чтобы сохранить данные json в UTF-8; так что вызывающий получает действительный Json.

В моем случае с Spring boot и RestTemplate я получаю Json в качестве ответа на запрос API, который я отправляю на сторонний сервер. У меня нет никакого контроля, чтобы изменить эту сторону.

Итак, есть ли какой-либо способ, которым я могу что-то сделать из myside в качестве принимающей стороны, чтобы исправить следующую проблему.?

Исключение JsonParseException: недопустимый начальный байт UTF-8 0x91

Ниже показано, как я закодировал свой запрос.

 HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

----
----
 HttpEntity<HashMap> request = new HttpEntity(dataMap, headers);
  

Спасибо ..!

Ответ №1:

Я решил проблему.

Сначала я должен был принять ответ в виде строки, а затем выполнить соответствующие манипуляции со строками в соответствии с форматом, который я хочу, чтобы данные были.

 String responseJsonString = restTemplate.postForObject(url, request, String.class);
  

Надеюсь, это может кому-то помочь.