par*_*rsa 2 javascript java rhino
我有Java中JSON序列化对象的字符串表示,例如"{\"name\":\"John\",\"age\":24}".我如何解析并将其返回到JavaScript上下文,就像JSON.parse(str)在JS中一样?谢谢.
SoW*_*Lie 10
最新版本的Rhino只有四个args,第四个不能为null.要解决此问题,您必须创建一个实现org.mozilla.javascript.Callable的简单类:
import org.mozilla.javascript.Callable;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
public class NullCallable implements Callable
{
@Override
public Object call(Context context, Scriptable scope, Scriptable holdable, Object[] objects)
{
return objects[1];
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样调用NativeJSON.parse:
Object result = NativeJSON.parse(context, scope, jsonString, new NullCallable());
Run Code Online (Sandbox Code Playgroud)