Java对象到JSON

Java对象到JSON,java,javascript,rhino,Java,Javascript,Rhino,我正在使用Rhino在Java和JavaScript之间进行通信。 我通过Rhino调用一个JavaScript函数,该函数接受一个必须是JSON对象的参数。在我的例子中,如何将Java对象解析为JSON并将其传递给JavaScript? Java代码: try { engine.eval(fileReader); Invocable invocableEngine = (Invocable) engine; Object o = invocableEngine

我正在使用Rhino在Java和JavaScript之间进行通信。 我通过Rhino调用一个JavaScript函数,该函数接受一个必须是JSON对象的参数。在我的例子中,如何将Java对象解析为JSON并将其传递给JavaScript? Java代码:

try {     
    engine.eval(fileReader);
    Invocable invocableEngine = (Invocable) engine;
    Object o = invocableEngine.invokeFunction("f", MyObject json);
    System.out.println(o);
} catch (ScriptException ex) {
    ex.printStackTrace();
} catch(Exception e){
    e.printStackTrace();
}
JavaScript代码:

function f(json){
    var id = json.id;
    return id;
}

我没有使用rhino,但是为了将Java对象/集合转换为json,我使用了google库。

当我使用rhino时,我只是将我的Java json对象(org.json.JSONObject)转换为字符串,并将其作为函数参数传递给rhino作用域中的javascript函数

String itemDatagram = jsonItemDatagram.toString; 
String code = "inside.js.scope.aFunction(" + itemDatagram + ");";

然后,代码字符串对象必须由Rhino计算。字符串对象自动成为js范围内的Javascript对象(在Rhino端)。由于JSON只是javascript对象的一个子集,这应该是您想要的。

Hello!你能让我们看看这个吗?你能告诉我你的方法是如何运作的吗?