我可以在运行时为Java POJO创建JSON吗?

时间:2016-06-03 15:06:31

标签: java json rest jsp-tags

我有一个要求,我从REST API获取JSON响应。

我可以创建一个POJO并将JSON转换为JAVA但是这个特殊的POJO在将来或其他功能中对我没用。

因此我想使用任何API动态地将JSON转换为Java并在JSP中呈现对象。

你能告诉我这是一个好习惯吗?我该怎么做?

预期的JSON响应:

{
"_id": "",
"title": "",
"contact": "",
"country": "",
"children": [
   {
     "title": "",
      "contact": "",
      "country": "",
      "children": [
          {
            "title": "",
            "contact": "",
            "country": "",
            "children": []
           }
          ]
        }
      ]
     }

2 个答案:

答案 0 :(得分:0)

我不认为这是一个很好的做法,因为转换到实际的Java POJO你正在根据你期望收到的东西以某种方式验证JSON是否正确,而不是真正的验证,但总比没有好

在任何情况下,如果您不想拥有实际的Java POJO,您可以使用Map< String,Object>要存储数据并将其呈现在jsp中,您可以使用Jackson库来完成转换。

问候。

更新问题:

使用该架构看起来很简单,您可以使用与父级和子级相同的类,如下所示:

public class YourPojo implements Serializable {
    private String _id; // not good practice start by underscore
    private String title;
    private String contact;
    private String country;
    private List<YourPojo> children;

    // constructors, getters, setters...
}

问候。

答案 1 :(得分:0)

我会使用类似于XML中的方法:将JSON解析为通用结构(XML for DOM),然后使用可配置方法提取您感兴趣的数据,例如:用于XML的XPath或用于JSON的JSONPath。

这意味着您最终会得到可以处理任何格式良好的JSON的代码,并且可以通过配置用于提取消息的任何部分。