我有一个休息服务返回一些数据。我使用如下所示的Restlet客户端api来访问此服务。如您所见,它返回org.json.JSONObject。有没有一种简单的方法可以将其映射到域对象(可能是通过注释?),还是我必须编写代码来创建域对象?
Representation entity = new ClientResource(uri).get();
JSONObject json = new JsonRepresentation(entity).getJsonObject();
答案 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。