Tôi có một Bản đồ Java. Tôi muốn chuyển đổi nó sang bản đồ JavaScript.Chuyển đổi Bản đồ Java thành Bản đồ Javascript
Chức năng java để chuyển đổi dưới dạng bản đồ JS sau:
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;
}
Trong trang JSP javascript mã là:
var langs = ${messagesJS};
Trong javascript, tôi nhận:
langs = {en=true, de=false, fr=false};
thay vì
langs = {"en":true, "de":false, "fr":false}
Hãy gợi ý cho tôi cách đạt được điều này?
Có lý do nào bạn cần ** để có các khóa được bọc trong dấu ngoặc kép không? Bạn đã có đối tượng JavaScript hợp lệ. Nếu đó là một yêu cầu tuyệt đối (và, một lần nữa, tôi không thể nghĩ ra một lý do duy nhất tại sao nó sẽ là), hãy xem trả lại [JSON] (http://json.org). –