Исключение разбора Json при установке насмешек в wiremock

#json #wiremock

Вопрос:

У меня есть следующий JSON, используемый в качестве макетного сервера для подключения к сети. После включения этого файла JSON при запуске макетного сервера я получаю следующую ошибку

{ «Имя сценария»: «Сценарий повторной попытки», «Требуемое состояние»: «Авторизовано», «Состояние»: «Запущено», «идентификатор»: «28d9932d-20a9-41f1-a05b-2e080029f914», «запрос»: { «urlPathPattern»: «/api/Приложение/Q835YUDX/запущено», «метод»: «ПОЛУЧИТЬ» }, «ответ»: { «статус»: 200, «заголовки»: { «Соединение»: «закрыть» }, «трансформаторы»: [ «шаблон ответа» ] }, «uuid»: «28d9932d-20a9-41f1-a05b-2e080029f914» }

Подобрал _JAVA_OPTIONS: -XX: Разблокируйэкспериментальные функции -XX: UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=2 SLF4J: Не удалось загрузить класс «org.slf4j.impl.StaticLoggerBinder». SLF4J: По умолчанию для реализации регистратора без операций (NOP) SLF4J: См. http://www.slf4j.org/codes.html#StaticLoggerBinder для получения более подробной информации. Исключение в потоке «основной» wiremock.com.fasterxml.jackson.core.Исключение JsonParseException: Неожиданный символ (» (код 65279 / 0xfeff)): ожидаемое допустимое значение (число, строка, массив, объект, «true», «false» или «null») в [Источнике: {«Имя сценария»: «Сценарий повторной попытки», «Требуемое состояние»: «Авторизовано», «Состояние»: «Запущено», «идентификатор»: «28d9932d-20a9-41f1-a05b-2e080029f914», «запрос»: {«urlPathPattern»: «/api/Приложение/Q835YUDX/запущен», «метод»: «ПОЛУЧИТЬ»}, «ответ»: {«статус»: 200, «заголовки»: {«Соединение»: «закрыть»}, «трансформаторы»: [«шаблон ответа»]}, «uuid»: «28d9932d-20a9-41f1-a05b-2e080029f914» } ; строка: 1, столбец: 2] в wiremock.com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702) в wiremock.com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:558)

Комментарии:

1. Какую версию WireMock вы используете? Я смог успешно запустить WireMock с этими данными JSON, используя 2.26.3

2. Я использую wiremock версии 2.27, но все равно получаю эту ошибку при запуске сервера wiremock

3. Неожиданный символ (‘?’ (код 65279 / 0xfeff)): ожидаемое допустимое значение (строка JSON, число, массив, объект или маркер ‘null’, ‘true’ или ‘false’) в [Источник: (строка)»?{ — это сообщение об ошибке, которое я получаю. Не понимаю, что для этого нужно сделать

4. Можете ли вы загрузить точный файл сопоставления Wiremock JSON, с которым у вас где-то возникла проблема, чтобы мы могли посмотреть? Можете ли вы удалить 0xFEFF из файла, так как это вызывает проблему? unicodemap.org/details/0xFEFF/index.html это «ПРОСТРАНСТВО БЕЗ РАЗРЫВОВ НУЛЕВОЙ ШИРИНЫ», зачем оно вам нужно?

Ответ №1:

0xFEFF-это «ПРОСТРАНСТВО БЕЗ ПРОБЕЛОВ НУЛЕВОЙ ШИРИНЫ», зачем вам это нужно в вашем файле JSON?

Просто замените это пространство обычным пробелом 0x0020.

Комментарии:

1. Я создал новый файл на сервере с тем же именем(сервер Linux, на котором развернуты мои макеты) и вставил содержимое макета. Во всяком случае, это сработало. Может быть, проблема с пространством. Спасибо