2016-12-31 57 views
1

我调用JSNI方法,并尝试发送我的Java的HashMap发送Java HashMap来JSNI(JavaScript)的

像这样

 HashMap<String, String> map = new HashMap<String, String>(); 
     map.put("Test", "123"); 
     map.put("Test2", "234"); 

     call(map); 

}

 public static native void call(HashMap<String, String> map) /*-{ 
     alert(map); 
     var empMap = map; 
     var s = empMap['Test']; 

     }-*/; 

在这里,我想阅读我的Hashmap里面的内容在我的javascript代码,但是它给出了变种的“不确定”。零误差。

请指导我怎样才能达致这即让我的javascript代码里面这个Java的HashMap的内容。

+0

你试过先转换'HashMap'成'JSON'字符串,然后解析'JSON'为'Object'在'JavaScript'代码使用? – thegauravmahawar

+0

如我在客户端,只能使用com.google.gwt.json.client.JSONObject,这是接受jsonvalue,不肯接受我的HashMap中它 – junaidp

+0

如果我这样做在我的JavaScript代码:var电子地图=地图; \t \t警报(电子地图),则它正确地显示在我的HashMap的所有瓦莱斯,但现在我只需要得到一个特定的valuw,像电子地图[测试]; – junaidp

回答

1

尽量做到:

public static native void call(HashMap<String, String> map) /*-{ 
     alert(map); 
     var empMap = map; 
     var s = [email protected]::get(Ljava/lang/Object;)('Test'); 
}-*/; 

您的通话JSNI里面。