我对 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 方法都无济于事。
一定有一些非常明显的东西我错过了。谁能帮我吗?
谢谢。