我有一个要求,我从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": []
}
]
}
]
}
答案 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的代码,并且可以通过配置用于提取消息的任何部分。