6

我对 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 方法都无济于事。

一定有一些非常明显的东西我错过了。谁能帮我吗?

谢谢。

4

0 回答 0