@Dik_Nik

Как распарсить Json в Java?

Использую jackson databind объект.
Мне приходит следующий Json:
{mode=, hdfsPath=, firstRowAsHeader=false, columns=[], totalRows=null}

Пытаюсь его распарсить методом objectMapper.readTree(json), но из-за того, что json не стандартный кидается Exception:
Unexpected character ('=' (code 61)): was expecting a colon to separate field name and value
 at [Source: (String)"..."]

Сейчас применены следующие конфигурации к объекту: ALLOW_UNQUOTED_FIELD_NAMES (true); (FAIL_ON_UNKNOWN_PROPERTIES (false).
Какие еще конфигурации нужно добавить, чтобы оно заработало?
  • Вопрос задан
  • 473 просмотра
Решения вопроса 2
GavriKos
@GavriKos
Это не json совсем. Так что сомневаюсь что json-парсером получится распарсить это при любых настройках.
Ответ написан
Комментировать
a13xsus
@a13xsus
Lazy developer
Это не json. Думайте в сторону того, чтобы источник возвращал корректный JSON, потом уже парсите как обычно.

Сейчас применены следующие конфигурации к объекту: ALLOW_UNQUOTED_FIELD_NAMES (true); (FAIL_ON_UNKNOWN_PROPERTIES (false).
Какие еще конфигурации нужно добавить, чтобы оно заработало?


Попробуйте заменить = на : через String replace()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BorLaze
@BorLaze
Java developer
Как выше уже отметили, это не JSON; если мне не изменяет память, это результат map.toString().

Чтобы получить JSON, надо использовать ObjectMapper:
String json = objectMapper.writeValueAsString(map);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы