从JavaScript向小程序传递嵌套数据结构
在我的页面中,我有一个小程序。我想把一些数据传递给applet函数。我已经了解了如何做到这一点,它对字符串等简单数据类型很有效,但我对一些嵌套数据结构感到很难。我不确定什么是合适的术语-字典列表或关联数组数组。下面是我构建的JavaScript数据结构的一个片段从JavaScript向小程序传递嵌套数据结构,javascript,arrays,associative-array,applet,Javascript,Arrays,Associative Array,Applet,在我的页面中,我有一个小程序。我想把一些数据传递给applet函数。我已经了解了如何做到这一点,它对字符串等简单数据类型很有效,但我对一些嵌套数据结构感到很难。我不确定什么是合适的术语-字典列表或关联数组数组。下面是我构建的JavaScript数据结构的一个片段 var servers = [] servers.push({'id' : 1, 'ip' : '111.111.111.111'}); servers.push({'id' : 2, 'ip' : '222.222.222.222'}
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"));
}
}
公共void集合(HashMap s[]{
对于(int i=0;i
也许有更好的解决方案,但是您可以用JSON将Javascript中的数据字符串化,然后用Java对其进行解码。我不确定Java/Javascript桥是否支持除原语类型以外的任何其他类型。
您可以尝试序列化为JSON,然后通过桥传递:
...yourcode....
$('testapplet').setWorker(toJSON(yourvar));
编辑:正如刚才提到的…:)