将JSON字符串转换为Java对象是一种简单的方法或库,以便我可以轻松地引用JSP页面中的元素吗?我认为Map
可以在JSP页面中用简单的点表示法引用,所以JSON - >地图对象应该有效吗?
更新 :感谢您使用所有JSON Java库。特别是,我正在寻找一个可以在JSP页面中轻松使用的库。这意味着创建的Java对象具有与JSON节点名称相对应的适当getter方法(这可能吗?),或者还有一些其他机制可以像Map对象一样轻松实现。
答案 0 :(得分:2)
使用Jackson。
<强>更新强>
如果你有一个任意的json字符串,Jackson可以返回一个map对象来访问属性值。
这是一个简单的例子。
@Test
public void testJsonMap() throws JsonParseException, JsonMappingException, IOException {
String json = "{\"number\":\"8119123912\",\"msg\":\"Hello world\"}";
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> map = mapper.readValue(json, new TypeReference<Map<String,Object>>() { });
System.out.println("number:" + map.get("number") + " msg:" + map.get("msg"));
}
输出:
number:8119123912 msg:Hello world
答案 1 :(得分:1)
尝试GSON,这是tutorial。
答案 2 :(得分:0)
这个库应该做你想做的事:http://www.json.org/java/
答案 3 :(得分:0)
DWR可用于此目的DWR - Easy Ajax for JAVA。
让我们考虑一下这个java类。
class Employee
{
int id;
String eName;
// setters and getters
}
在javascript JSON对象中
var employee = {
id : null,
name : null
};
这是从javascript函数调用java方法。
EmployeeUtil.getRow(employee,dwrData);
在EmployeeUtil类的getRow()中,方法的返回类型为Employee。
Employee getRow();
因此使用Employee的setter设置数据。
dwrData是回调函数。
function dwrData(data) {
employee=data;
}
返回的数据是Employee bean,它将处于回调函数中。
只需在javascript JSON对象中初始化它。
现在可以在jsp中解析和显示JSON对象。
此示例显示Dynamically Editing a Table
希望这会有所帮助......