我正在尝试JSONata
在java
.
JSONata version - 1.4.0
Java Version - 1.8
步骤:包含Jsonata.js
在类路径中。
调用:
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
Invocable inv = (Invocable) engine;
FileReader jsonata = new FileReader("jsonata.js");
// load the JSONata processor
engine.eval(jsonata);
参考链接: 如何在 Java 中使用 JSONata?
当我尝试使用它时,我得到以下异常:
引起:jdk.nashorn.internal.runtime.ParserException::1445:12 预期(但发现函数评估(expr,输入,环境){
在 jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:294) 在 jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:279) 在 jdk.nashorn.internal.parser.AbstractParser.expectDontAdvance (AbstractParser.java:350) 在 jdk.nashorn.internal.parser.AbstractParser.expect(AbstractParser.java:337) 在 jdk.nashorn.internal.parser.Parser.functionExpression(Parser.java:2654) 在 jdk.nashorn。 internal.parser.Parser.statement(Parser.java:875) 在 jdk.nashorn.internal.parser.Parser.sourceElements(Parser.java:773) 在 jdk.nashorn.internal.parser.Parser.functionBody(Parser.java: 2901) 在 jdk.nashorn.internal.parser.Parser.functionExpression(Parser.java:2663) 在 jdk.nashorn.internal.parser.Parser.memberExpression(Parser.java:2506) 在 jdk.nashorn.internal.parser.Parser .leftHandSideExpression(Parser.java:第2372章.primaryExpression(Parser.java:1992) 在 jdk.nashorn.internal.parser.Parser.memberExpression(Parser.java:2511) 在 jdk.nashorn.internal.parser.Parser.leftHandSideExpression(Parser.java:2372) 在 jdk。 nashorn.internal.parser.Parser.unaryExpression(Parser.java:3147) 在 jdk.nashorn.internal.parser.Parser.assignmentExpression(Parser.java:3353) 在 jdk.nashorn.internal.parser.Parser.variableStatement(Parser. java:1088) 在 jdk.nashorn.internal.parser.Parser.statement(Parser.java:884) 在 jdk.nashorn.internal.parser.Parser.sourceElements(Parser.java:773) 在 jdk.nashorn.internal.parser .Parser.program(Parser.java:709) 在 jdk.nashorn.internal.parser。Parser.parse(Parser.java:283) 在 jdk.nashorn.internal.parser.Parser.parse(Parser.java:249) 在 jdk.nashorn.internal.runtime.Context.compile(Context.java:1284) 在 jdk .nashorn.internal.runtime.Context.compileScript(Context.java:1251) 在 jdk.nashorn.internal.runtime.Context.compileScript(Context.java:627) 在 jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine .java:535) ... 6 更多
有关如何使用它的任何帮助都会很有用。