Формат, который возвращает ваш веб-сервис, имеет собственное имя HOCON . (Вы можете прочитать больше об этом здесь )
Вам не нужен ваш пользовательский парсер . Не пытайтесь изобретать велосипед. Вместо этого используйте существующий.
Добавьте эту maven-зависимость в ваш проект:
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>1.3.0</version>
</dependency>
Затем проанализируйте ответ следующим образом:
Config config = ConfigFactory.parseString(text);
String id = config.getString("id");
Long model = config.getLong("model");
Существует также опция для анализа всей строки в POJO:
MyResponsePojo response = ConfigBeanFactory.create(config, MyResponsePojo.class);
К сожалению, этот синтаксический анализатор не допускает значения null
. Поэтому вам нужно обработать исключения типа com.typesafe.config.ConfigException.Null
.
. Другой вариант - преобразовать строку HOCON
в JSON
:
String hoconString = "...";
String jsonString = ConfigFactory.parseString(hoconString)
.root()
.render(ConfigRenderOptions.concise());
. Затем вы можетеиспользуйте любой преобразователь JSON-to-POJO.