你可以嘗試JavaScript Overlay Types,例如像這樣:
public class OverlayExample implements EntryPoint {
public static final class MyJsMap extends JavaScriptObject {
protected MyJsMap() {}
public native Object get(Object key) /*-{
return this[key];
}-*/;
public native void put(Object key, Object val) /*-{
this[key] = val;
}-*/;
}
public void onModuleLoad() {
final String text = "[{ 1 : 'x', 2 : 'y' }]";
final MyJsMap map = asJsMap(text);
System.out.println(map.get("1"));
}
private static native MyJsMap asJsMap(final String str) /*-{
return eval(str)[0];
}-*/;
}
好吧,這不完全是java.util.Map
,但如果你需要,你可以提高MyJsMap
實現java.util.Map
接口。
或者 - 如果您需要真正的java.util.HashMap
- 您可以迭代所有值並將它們複製到HashMap
。在後一種情況下,根據@The Elite Gentleman的建議,使用GSON可能更容易。
您使用Google GSon嗎? http://code.google.com/p/google-gson/ – 2010-11-12 14:58:45