Java对象到JSON
我正在使用Rhino在Java和JavaScript之间进行通信。 我通过Rhino调用一个JavaScript函数,该函数接受一个必须是JSON对象的参数。在我的例子中,如何将Java对象解析为JSON并将其传递给JavaScript? Java代码: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
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!你能让我们看看这个吗?你能告诉我你的方法是如何运作的吗?