Я пытаюсь интегрировать JavaScript
в мой проект Wicket в свой набор тестов TestNG
. Я решил попробовать проект Nashorn.Nashorn/Javascript ассоциативный массив к объекту Java?
Теперь, чтобы исправить результаты от 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
массив, используя более яваскрипт сценария, и разобрать его обратно, используя Gson
или аналогичные библиотек, но есть более нативный подход к этой проблеме отображения?
'ScriptObjectMirror' имеет документированный интерфейс - http://cr.openjdk.java.net/~sundar/jdk. nashorn.api/8u40/javadoc/jdk/nashorn/api/scripting/ScriptObjectMirror.html –
'ScriptObjectMirror', похоже, реализует' Map '- вы можете получить доступ ко всем парам ключ/значение через это? –
harmic
"harmic" является правильным. ScriptObjectMirror является частью документированного интерфейса Nashorn. Официальная ссылка на сайт API - https://docs.oracle.com/javase/8/docs/jdk/api/nashorn/jdk/nashorn/api/scripting/ScriptObjectMirror.html –