我有一個Java地圖。我想將它轉換爲JavaScript地圖。將Java地圖轉換爲Javascript地圖
Java函數爲JS圖轉換如下:
private Object getJSLocalizedValueMap() {
Map<String, String> langSel = new HashMap<String, String>();
langSel.add("en", true);
langSel.add("de", false);
langSel.add("fr", false);
//Now convert this map into Javascript Map
NativeObject nobj = new NativeObject();
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("javascript");
for (Map.Entry<String, String> entry : langSel.entrySet()) {
nobj.defineProperty(entry.getKey(), entry.getValue(), NativeObject.READONLY);
}
engine.put("langSel", nobj);
return langSel;
}
在JSP頁面的JavaScript代碼:
var langs = ${messagesJS};
在Javascript中,我得到了:
langs = {en=true, de=false, fr=false};
而不是
langs = {"en":true, "de":false, "fr":false}
請問我該如何做到這一點?
是否有任何理由**需要**將密鑰用雙引號括起來?你已經有了一個有效的JavaScript對象。如果這是一個絕對的要求(再次,我想不出一個單一的原因),看看返回[JSON](http://json.org)。 –