Этот вопрос должен был быть задан раньше, но я не смог его найти.
Я использую стороннюю библиотеку для извлечения данных в формате JSON. Библиотека предлагает мне данные как org.json.JSONObject
. Я хочу сопоставить это JSONObject
с POJO (обычный старый объект Java) для более простого доступа/кода.
Для сопоставления в настоящее время я использую ObjectMapper
из библиотеки Джексона следующим образом:
JSONObject jsonObject = //...
ObjectMapper mapper = new ObjectMapper();
MyPojoClass myPojo = mapper.readValue(jsonObject.toString(), MyPojoClass.class);
Насколько я понимаю, приведенный выше код может быть оптимизирован значительно, поскольку в настоящее время данные в JSONObject
, которые уже разобраны, снова подаются в цепочку сериализации-десериализации с помощью метода JSONObject.toString()
, а затем в ObjectMapper
.
Я хочу избежать этих двух преобразований (toString()
и разбора). Есть ли способ использовать JSONObject
для сопоставления своих данных непосредственно с POJO?