Rhino:从 Java 中返回 JSON
Rhino: return JSON from within Java
我在Java中有一个JSON序列化对象的字符串表示形式,例如 "{'"name'":'"John'",'"age'":24}"
.如何解析并将其返回到 JavaScript 上下文,就像JSON.parse(str)
在 JS 中的工作方式一样?谢谢。
最新版本的 Rhino 只有四个参数,第四个不能为空。 要解决此问题,您必须创建一个简单的类来实现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];
}
}
然后你可以像这样调用 NativeJSON.parse:
Object result = NativeJSON.parse(context, scope, jsonString, new NullCallable());
另一种方法是调用org.mozilla.javascript.json.JsonParser.parseValue。也就是说,如果您不需要使用齐磊。
更有趣的是,org.mozilla.javascript.NativeJSON
是围绕org.mozilla.javascript.json.JsonParser.parseValue
而构建的。你可以在这里看到这一点,https://github.com/mozilla/rhino/blob/master/src/org/mozilla/javascript/NativeJSON.java#L110。
在这里找到答案:访问 Rhino 的原生 JSON。从 Java 字符串化
import org.mozilla.javascript.NativeJSON;
Object json = NativeJSON.parse(cx, scope, str, null, null);
相关文章:
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 返回JSON中的下标
- jQuery Map 从多个源返回 JSON 对象
- 如何在 Node.js 中返回 JSON 后停止代码流
- AngularJS:表单提交没有返回JSON中的值
- 使用ajax发送数据,返回json
- 从我的解析函数返回json
- 如何从脚本页面返回json数据
- 有些人有任何关于如何使用Modified Java Script Value处理返回Json(url)的示例
- 如何在html页面中从ajax返回json数据
- Ajax调用在本地返回json,但在服务器上运行时返回xml
- ajax调用返回JSON ParseError即使认为JSON看起来是正确的
- 调用.ajax方法得到未定义的json结果,返回json格式列表<字符串>
- 如何通过C#返回JSON并用JavaScript进行解析
- 使用 AJAX 返回 json 数组
- 从 AJAX 命令返回 JSON 格式的响应
- 如何通过node中的请求返回JSON.js(从javascript)
- Node.js API 在终端中返回 JSON,但不在浏览器中返回 JSON
- 如何在支柱 2 中返回 JSON 数组
- Rhino:从 Java 中返回 JSON