将JSONObject转换为域对象的最佳方法是什么?

时间:2011-11-29 02:06:45

标签: java json restlet

我有一个休息服务返回一些数据。我使用如下所示的Restlet客户端api来访问此服务。如您所见,它返回org.json.JSONObject。有没有一种简单的方法可以将其映射到域对象(可能是通过注释?),还是我必须编写代码来创建域对象?

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

2 个答案:

答案 0 :(得分:2)

您可以利用具有所需功能的Gson库:

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

您可以阅读更多here...

答案 1 :(得分:1)

虽然有很好的API可以轻松地在Java数据结构之间进行映射,例如,从JSONObject到您喜欢的数据结构,但由于传入的数据格式是JSON,我更喜欢只使用一个好的JSON-to / from -Java API,如Jackson。根据首选的转换细节,解决方案可能只是一个简单的代码行,具有这样的API。