如何轻松将我的POJO转换为JSON数据?

时间:2012-10-11 18:10:19

标签: java json pojo

如何在DAO对象中使其更具可重用性?

List<User> list = userService.getAll();

JSONObject json = new JSONObject();
JSONArray jsonArray = new JSONArray();

for(User user : list) {
    JSONObject userJson = new JSONObject();
    userJson.put("id", user.getId());
    userJson.put("FirstName", user.getFirstName());
    ....
    jsonArray.add(userJson);
}

json.put("results", jsonArray);

return json.toJsonString();

无论如何,这是来自内存的代码,但你明白了。必须有一个更简单的方法。此外,我们并不总是希望返回POJO的每个属性。在某些情况下,我们可能只需要FirstNameLastName,而在其他情况下,我们会添加PhoneNumber等。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:0)

我会使用Google Gson
非常好用

答案 1 :(得分:0)

您还可以尝试Genson库http://code.google.com/p/genson/

它具有完整的数据绑定支持,但也具有低级流式api。 它易于使用,根据用户的反馈,它比Jackson更容易使用。 它是唯一提供的功能,例如使用带有任何其他注释的构造函数对对象进行反序列化。

要开始使用,您可以查看wiki http://code.google.com/p/genson/wiki/GettingStarted,它应该有助于快速启动。