java - Java Nashorn在java中构建json数组对象找不到方法
问题描述
我尝试创建 java json 数组,找不到任何使用 Nashorn 创建它们的方法我可以创建简单的对象......
private void createJsonObject() {
try {
final Map<String, Object> newMap = new HashMap<>();
newMap.put("foo",1);
newMap.put("bar", true);
ScriptObjectMirror json = (ScriptObjectMirror) this.engine.eval("JSON");
json.putAll(newMap);
this.engine.put("jsonObject", json);
String result = (String) this.engine.eval("JSON.stringify(jsonObject)");
System.out.println(result);
} catch (ScriptException e) {
e.printStackTrace();
}
}
结果:{"bar":true,"foo":1}
在这里我尝试创建数组,但我得到空的 json
private void createJsonObject() {
try {
List<String> returnList = new ArrayList<>();
returnList.add("x");
returnList.add("y");
ScriptObjectMirror json = (ScriptObjectMirror) this.engine.eval("JSON");
json.put("test",returnList);
this.engine.put("jsonObject", json);
String result = (String) this.engine.eval("JSON.stringify(jsonObject)");
System.out.println(result);
} catch (ScriptException e) {
e.printStackTrace();
}
}
结果: {}
最终目标是使用 java 本机工具在内存中构建对象数组而不使用依赖项
解决方案
推荐阅读
- css - 仅通过 CSS 固定页脚
- python - Python:神经网络 - TypeError:“历史”对象不可下标
- python-3.x - 为什么我在找到并打印 URL 之后得到一个 KeyError?
- wordpress - WooCommerce 产品类别说明
- python - 加载图像时出现 Errno 22
- javascript - 在部署 VueJS 项目之前可以删除哪些文件?
- javascript - 无法在画布 JavaScript 中绘制图像
- angularjs - AngularJS:动态添加模块或在引导/扩展现有模块之后
- php - 将树枝传递给 altorouter 中的控制器功能
- javascript - Chrome 扩展不发送 SameSite=Lax cookie