我是JavaScript和JSON的新手。我正在编写一个需要将JSON解析为Java对象的Java servlet,但诀窍是我不能使用外部库,如json-simple或gson。
所以我已经将JavaScript文件的内容保存在名为“contents”的字符串中......
contents = "myVar = " + contents + ";";
BufferedWriter bWriter = new BufferedWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8"));
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
Object returnVal = engine.eval(contents);
NativeObject a = (sun.org.mozilla.javascript.internal.NativeObject) engine.get("myVar");
Object[] ids = a.getAllIds();
for (Object id : ids) {
String newId = (String) id;
bWriter.write("\n" + newId);
}
这将正确打印出我对象的各种属性的所有名称。事情是,我不知道该怎么做。我尝试了各种不同的NativeObject方法无济于事。
我必须有一些非常明显的东西。任何人都可以帮助我吗?
感谢。