3

在我的 JavaScript 中,我有一个 JSON 对象,我将其用作 Java 对象的参数。在 Java 方面,我收到一个jdk.nashorn.internal.scripts.JO4但只有jdk.nashorn.internal.scripts.JO类退出。如何访问此 JSON 对象?

var test = {
    "id": 10,
    "Hello": "World",
    "test": {
        "Lorem" : "Ipsum",
        "java"  : true
    }
}

m.call(test);
4

2 回答 2

5

尝试使用 ScriptObjectMirror:

public void call(ScriptObjectMirror obj) {
    System.out.println(obj.get("Hello"));
}

有关更多示例,请参见本文:http ://winterbe.com/posts/2014/04/05/java8-nashorn-tutorial/

于 2014-08-13T16:04:06.037 回答
1

通过一些谷歌搜索,我找到了一个解决方案:在 Java 方面,我必须使用java.util.Map. 所以我可以将此 Map 解析为org.json.simple.JSONObject

public void call(Map map){
    JSONObject json = new JSONObject(map); // convert map to an json Object
}
于 2014-07-13T11:23:00.693 回答