将JSON数据传递到Java applet的javascript函数示例

oom*_*pah 5 javascript applet json

我刚刚开始开发applet.我希望能够将(JSON)数据从javascript函数传递到我的applet中的方法.

虽然我已经搜索过,但我找不到一个合适的例子来说明如何做到这一点.有人可以显示指向如何执行此操作的资源的链接,或者在此处粘贴几行以说明如何执行此操作.

另外,我有ff问题:

  1. 可以从JSON传递到applet的JSON字符串的大小是否有限制?(如果是的话 - 它是什么?)
  2. 是否可以在将长字符串从JSON传递到applet之前对其进行压缩(zip)?

Eer*_*ero 2

在 JavaScript 方面,您应该使用JSON2将数据转换为 JSON 文本,使用代码

var jsn = JSON.stringify({"x": "y"});
Run Code Online (Sandbox Code Playgroud)

然后将其传递给小程序:

var applet = document.getElementById("myApplet");
applet.setJSONData(jsn);
Run Code Online (Sandbox Code Playgroud)

当然,您需要在小程序上有一个可以调用的公共方法。在 Java 方面,您可以使用Jackson将 JSON 解析为 Java 哈希图或 bean:

public class MyApplet extends JApplet {
    public void setJSONData(String data) {
        ObjectMapper mapper = new ObjectMapper();
        Map map = mapper.readValue(data, Map.class);
        // TODO sth with map
    };
}
Run Code Online (Sandbox Code Playgroud)

小心非 ASCII 字符的编码,浏览器中生成的 JSON 似乎并不总是 UTF-8,它可能取决于浏览器供应商或 HTML 页面编码。

如果您确实喜欢冒险,您可以在 Java Plugin 2 中尝试使用JSObject,而不是使用 JSON。