Vous pourrait essayer JavaScript Overlay Types, par exemple comme ceci:
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];
}-*/;
}
Ok, ce n'est pas exactement un java.util.Map
, mais si vous avez besoin que vous pourriez améliorer MyJsMap
pour implémenter l'interface java.util.Map
. Ou - si vous avez besoin d'un vrai java.util.HashMap
- vous pouvez parcourir toutes les valeurs et les copier dans un HashMap
. Dans ce dernier cas, il est probablement plus facile d'utiliser GSON, comme recommandé par @The Elite Gentleman.
Utilisez-vous Google GSon? http://code.google.com/p/google-gson/ –