Каков наилучший способ конвертировать JSONObject в объект домена? - PullRequest
2 голосов
/ 29 ноября 2011

У меня есть служба отдыха, возвращающая некоторые данные. Я использую API клиента Restlet, как показано ниже, для доступа к этой услуге. Как видите, он возвращает org.json.JSONObject. Есть ли простой способ сопоставить это с объектом домена (может быть с помощью аннотаций?) Или мне нужно написать код для создания объекта домена?

Representation entity = new ClientResource(uri).get();
JSONObject json = new JsonRepresentation(entity).getJsonObject();

Ответы [ 2 ]

2 голосов
/ 29 ноября 2011

Может быть, вы можете использовать библиотеку Gson , в которой есть нужная вам функция:

// Convert JSON into Java object    
SomeObj obj = gson.fromJson(jsonObjStr, SomeObj.class)

Вы можете прочитать подробнее здесь ...

1 голос
/ 29 ноября 2011

Хотя существуют приличные API для простого отображения между структурами данных Java, например, из JSONObject в предпочитаемую вами структуру данных, поскольку формат входных данных - JSON, я бы предпочел просто использовать хороший JSON-to / from -Java API, как Джексон . В зависимости от предпочтительных деталей преобразования, решение может представлять собой одну простую строку кода с таким API.

...