2010-11-07 45 views
0

在我的页面中,我有一个小程序。我想将一些数据传递给一个applet函数。我已经发现如何做到这一点,它对于像字符串这样的简单数据类型来说工作得很好,但是我很难用一些嵌套的数据结构。我不确定什么是正确的术语 - 字典列表或一组关联数组。下面是我的JavaScript数据结构的一个片段。将嵌套的数据结构传递给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")); 
    } 
} 

回答

0

我不确定Java/JavaScript桥接器支持基本类型以外的任何其他功能。 你可以尝试以串行化JSON,然后传递过了桥:

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

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

0

有可能是一个更好的解决方案,但你可以JSON字符串数据在JavaScript中,然后在Java解码。