2

我们在 GWT 客户端使用 JSO 进行 JSON 解析。现在,我们需要将 Java 对象转换为 JSON 字符串。我只是想了解,我们如何才能做到这一点?JSO 覆盖类型用于 JSON 解析。它也可以用来创建 JSON 请求字符串还是我们必须通过其他方式?

4

1 回答 1

2

在 JavaScript 中生成 JSON 对象非常简单。你可以这样做:

var obj = { "var1": "hello", "var2": "world" };

这将生成一个带有两个变量(“var1”和“var2”)及其值(“hello”、“world”)的 JSON 对象。可以使用该方法将对象转换为字符串(用于发送目的)JSON.stringify(jso);

由于所有变量都被优化为单个字符串,因此无法从 java 代码生成 JSON 数据(当然也不会产生有用的结果),因此应用此方法不会产生有用的结果(如果可能的话)。

如果您已经有一个 JSO 对象(使用 safeeval 之类的东西生成)。您可以在那里编辑您的变量,如下所示:

public final native void newValue(String newValue) /*-{
    this.ValueName = newValue;
}-*/;

如果您希望将对象作为字符串,则必须在 JSO 类中定义以下方法:

    public final native String returnAsString () /*-{
    return JSON.stringify(this);
}-*/;

或者在你的 Java 类中使用它:String s = (new JSONObject(jso)).toString();.

这样,您可以编辑原始输入数据并将原始对象发送回服务器。

BR

于 2012-06-01T08:44:53.143 回答