В нашем приложении Spring Framework при попытке проанализировать сообщение JSON возникает исключение. Конкретная информация об исключении следующая:
Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character (' ' (code 160)): was expecting double-quote to start field name; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character (' ' (code 160)): was expecting double-quote to start field name<EOL> at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 2, column: 3]]
Среда проекта:
springBootVersion = '2.7.12'
springWebVersion = '5.2.15.RELEASE'
hutoolVersion = '5.8.11'
wxPayVersion = '4.5.0'
mybatisPlusVersion = '3.5.2'
jedisVersion = '3.7.0'
druidVersion = '1.1.22'
postgresqlVersion = '42.2.27'
При анализе сообщения JSON,БрошенныйHttpMessageNotReadableException
аномальный。аномальный Подсказку невозможно прочитатьHTTPв сообщенииJSONчасть。специфическийаномальный Причина в томJSONПарсер обнаружилASCIIКод160пробелов, не являющихся символами новой строки,Но он ожидает, что имя поля будет начинаться с двойной кавычки. поэтому,Парсер неправильно распознает структуру JSON,Вызывает аномальный выброс.
Основная причина исключения заключается в том, что сообщение JSON содержит неожиданные специальные символы (символы пробела, не являющиеся символами новой строки, с кодом ASCII 160). Спецификация JSON требует, чтобы все имена полей были заключены в двойные кавычки и не допускают появления других специальных символов перед именем поля.
Для решения данной проблемы мы предлагаем следующее Решение:
// В приложениях Spring библиотеку Джексона можно использовать для анализа и проверки JSON.
// Убедитесь, что имена полей JSON заключены в двойные кавычки.,никаких неожиданных персонажей,И избегайте использования специальных символов.
Чтобы избежать подобного аномального анализа JSON, мы можем принять следующие меры предосторожности:
В этом блоге мы обсуждаем исключения, возникающие при анализе JSON в приложениях платформы Spring, а также анализируем информацию об исключениях и их причины. Для решения этой проблемы мы предлагаем соответствующие решения и меры, позволяющие избежать подобных проблем. В то же время мы настоятельно рекомендуем выполнить обновление до IDEA 2023 или более новой версии, чтобы приложения могли правильно обрабатывать данные JSON и избежать подобных исключений синтаксического анализа. Следуя передовым практикам создания и проверки данных JSON, а также используя надежные библиотеки JSON, вы можете повысить эффективность разработки и качество кода, а также избежать потенциальных проблем с кодированием. Кроме того, использование функций улучшения Postman также может помочь вам упростить обработку данных JSON на этапах отладки и тестирования.