Javascript关联数组到Java对象
Nashorn/Javascript associative array to Java object?
我正在尝试将Wicket项目中的JavaScript
集成到我的TestNG
测试套件中。我决定给纳什霍恩项目一个尝试。
现在我想解析来自nashorn的结果。我从javascript返回一个关联数组,并得到一个ScriptObjectMirror
作为返回类型。
ScriptEngine engine = factory.getEngineByName( "nashorn" );
String content = new String( Files.readAllBytes( Paths.get( "my-funcs.js" ) ) );
Object result = engine.eval( content + ";" + script );
当然,我可以JSON.stringify
数组,使用更多的javascript脚本,并解析它返回使用Gson
或类似的库,但是有一个更原生的方法来解决这个映射问题?
多亏了上面的评论,我找到了一个相对不错的解决方案,使用Apache Commons BeanUtils
public static class MyResult
{
private String prop1;
public void setProp1(String s)
{
...
}
}
...
public MyResult getResult(String script)
{
//ugly-but-fast-to-code unchecked cast
ScriptObjectMirror som = (ScriptObjectMirror) engine.eval(script);
MyResult myResult = new MyResult();
BeanUtils.populate(myResult, som);
return myResult;
}
相关文章:
- 是否可以在javascript中反序列化java对象
- 通过GWT JSNI传递Java对象时出错
- 在JSON.parse Javascript中字符串化Java对象抛出错误
- 将Java对象转换为JSON
- 当我将 Java 对象传递给客户端时,我得到“406 不可接受”
- 使用 JQuery 创建 Java 对象
- 在Javascript函数中获取Java对象属性
- JavaFX+Javascript:如何将Java对象注入AMD模块
- 如何在客户端通过多个字段对java对象进行排序
- 如何在 JavaScript 中访问作为 AJAX 请求中的响应发送的自定义 Java 对象
- 在 JQuery 中读取 Java 对象
- 为什么我的 javascript 数组从 java 对象中获取未定义的值
- Java 对象到 JSON,使用 javascript 解析
- 使用 GWT 将双精度 JS 数组(可能包含空条目)集成到 Java 对象的适当方法
- Nashorn:在 Typescript 中导入 Java 对象
- 拦截 Rhino 中 java 对象的字段访问
- Spring:在服务器和客户端之间传递数据(Java对象到JS对象)
- 如何通过Play转换Java对象以使用jqplot!2.0.
- 在javascript中使用java对象时出现非法访问异常
- 访问Java对象's具有字符串名称的成员变量