【发布时间】:2011-09-07 09:07:10
【问题描述】:
我想知道如何使用 DWR 将 Java 对象转换为 JSON。我已经试过了
JsonUtil.toJson(myObject),但它在org.directwebremoting.json.JsonUtil.toJson(JsonUtil.java:127) 处给出NullPointerException。谁能告诉我将 Java 对象转换为 JSON 的任何方法?我宁愿通过 DWR 来实现它。
【问题讨论】:
我想知道如何使用 DWR 将 Java 对象转换为 JSON。我已经试过了
JsonUtil.toJson(myObject),但它在org.directwebremoting.json.JsonUtil.toJson(JsonUtil.java:127) 处给出NullPointerException。谁能告诉我将 Java 对象转换为 JSON 的任何方法?我宁愿通过 DWR 来实现它。
【问题讨论】:
为什么不使用 JSON 库本身? JSON
甚至是 Google-Gson 库 GSON
此外,为了进一步参考,请使用搜索,因为已经回答了与此问题类似的问题...
几个例子:
https://stackoverflow.com/questions/338586/a-better-java-json-library
【讨论】:
您应该阅读文档,因为 DWR 有一个工具可以自动创建 Json Java 映射。其实这就是 DWR 的主要目的!
【讨论】:
让我们考虑这个 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 对象中初始化它。
希望这会有所帮助....
【讨论】: