将嵌套数据结构从JavaScript传递到applet

时间:2010-11-07 12:34:15

标签: javascript arrays associative-array applet

在我的页面中,我有一个applet。我想将一些数据传递给applet函数。我已经找到了如何做到这一点,它适用于简单的数据类型,如字符串,但我很难与一些嵌套的数据结构。我不确定它的正确用语是什么 - 字典列表或关联数组数组。这是我的JavaScript数据结构的片段。

var servers = []
servers.push({'id' : 1, 'ip' : '111.111.111.111'});
servers.push({'id' : 2, 'ip' : '222.222.222.222'});
$('testapplet').setWork(servers);

如何在Java中访问它?我想迭代它们并将它们打印到控制台?我尝试了以下代码,但我无法使其工作。

public void setWork(HashMap s[]) {
    for (int i = 0; i < s.length; i++) {
        HashMap item = s[i];
        System.out.println(item);
        System.out.println(item.get("ip"));
    }
}

2 个答案:

答案 0 :(得分:0)

可能有更好的解决方案,但你可以用JSON在Javascript中对数据进行字符串化,然后用Java解码。

答案 1 :(得分:0)

我不确定Java / JavaScript桥是否支持除基本类型之外的任何内容。 您可以尝试序列化为JSON,然后通过桥传递:

...yourcode....
$('testapplet').setWorker(toJSON(yourvar));

编辑:刚刚提到......:)