问题标签 [jsonata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2447 浏览

jsonata - 如何使用 JSONata 添加到现有对象?

我需要能够使用 JSONata 将元素添加到任意复杂的对象。

我事先并不知道对象中的所有元素。

例如,假设我要添加

对于一个看起来像这样的对象:

但它可能包含任意数量或混合的其他元素。

我可以替换整个对象,但我不知道如何添加它。

0 投票
1 回答
693 浏览

jsonata - 如何使用 JSONata 获取参数中包含子字符串的对象?

这是数据:

如何构建正确的 JSONata 查询以获取name包含的所有条目World

我确实尝试过"'World' in name",但它返回undefined

谢谢。

0 投票
1 回答
806 浏览

arrays - 在数组 JSONata 中包含计数器

我刚开始使用 JSONata,我发现轻松解析 JSON 非常有趣。但是我有这个问题,我不确定是否可以直接用JSONata完成。

我想包括一个从 1 到“数组中的对象数”的计数器,如下所示:

JSONata 表达式的原始输出:

[ {“a”:假,“b”:“”,“c”:“”,“d”:真},{“a”:假,“b”:“”,“c”:“”, “d”:真},{“a”:假,“b”:“”,“c”:“”,“d”:真}]

想要的输出:

[ { "count": "1", "a": false, "b": "", "c": "", "d": true }, { "count": "2", "a":假,“b”:“”,“c”:“”,“d”:真},{“计数”:“3”,“a”:假,“b”:“”,“c”:“ ", "d": 真 } ]

可能吗?先感谢您。

0 投票
4 回答
512 浏览

java - 在 Java 中使用 JSONata 会引发异常

我正在尝试JSONatajava.

步骤:包含Jsonata.js在类路径中。

调用:

参考链接: 如何在 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 更多

有关如何使用它的任何帮助都会很有用。

0 投票
1 回答
2711 浏览

java - 如何在 JSONata 中迭代基元数组

我想知道如何迭代一个基元数组,例如 int 数组,或者它是否是一个简单的字符串数组。

我想迭代数组并做这样的事情:

我如何使用 JSONata 来做到这一点?

任何帮助将不胜感激!

0 投票
1 回答
130 浏览

javascript - JSONata 可以在 Internet Explorer 中使用吗?

我正在为前端使用 javascript 做一个 web 项目,我正在使用 JSONata 来解析服务器返回的传入 JSON 对象。它在所有浏览器上都运行良好,但在 Internet Explorer 中无法识别 JSONata。

它只是在控制台中说:'jsonata'未定义。

JSONata 可以在 Internet Explorer 中使用吗?或者我需要做什么才能让 JSONata 在 Internet Explorer 中工作?

0 投票
1 回答
350 浏览

javascript - 在 Internet Explorer 中运行 JSONata

我正在为前端的 javascript 和后端的 java 做一个项目。我正在使用 JSONata 在前端解析传入的 json(这很棒)。它适用于除 Internet Explorer 之外的所有浏览器。

代码基本上是(我使用 JSONata 的地方):

这在所有浏览器中都没有问题,除了我收到以下错误的 Internet Explorer:

JSONata 不适合 Internet Explorer 吗?还是有办法绕过这个?

另外,我想如果我不能在客户端运行它,我会在服务器上运行 JSONata,所以我尝试了这段代码:

我收到以下错误:

PD:我正在使用 jsonata.js(来自他们的网站:https ://github.com/jsonata-js/jsonata/blob/master/jsonata.js )

如何运行 JSONata 以便它在所有浏览器中兼容(特别是在 Internet Explorer 中)

非常感谢!

0 投票
2 回答
2798 浏览

javascript - Javascript 抛出“ReferenceError:未定义要求”

我正在使用该库在我的 Python 代码中运行一段 Javascript 代码js2py。它适用于抛出的各种 Javascript 代码并处理结果。但是当在 Javascript 中使用“require”关键字时遇到错误代码。下面是我的代码

这里的jsonata是一个用于解析通过 npm 安装的 JSON 的 javascript 库。

以下是我收到的错误

但是,当我只将 javascript 代码放在一个文件中并从命令行运行它时,它就可以工作了。

jstest.js

在命令行中

现在我对错误进行了一些调查,结果发现'require'是浏览器要求,而不是node.js. 事实证明,还有一个替代方法require.js可以解决这个问题。所以我去了他们的文档,但对如何在我的 Javascript 代码中定义require没有太多意义。另外我将 jsonata 作为参数传递给require which是一个.js文件。与示例中给出的函数声明相反,我如何使用require.js框架来处理 jsonata.js 文件?我对这个主题的理解可能有误,但我需要对此进行澄清?有有什么办法可以使这项工作?

注意:我在服务器端运行代码。

0 投票
1 回答
1194 浏览

jsonata - JSONata,从嵌套对象中提取数据

我是 JSONata 的新手,所以我仍然对它有所了解。我需要从嵌套对象中提取数据,例如:

...我需要用它的“信息”提取列表数据,但没有信息键。所以结果看起来像:

我一直在http://try.jsonata.org/上闲逛,可以看到这个库有多么强大,但到目前为止还没有成功实现这个目标。任何和所有的帮助表示赞赏:)。

0 投票
2 回答
1540 浏览

jsonata - JSONata 查询以展平数组数组

JSONata 文档“top-level-arrays-nested-arrays-and-array-flattening”涵盖了对象数组的“扁平化”情况,每个对象都包含一个包含数组值的属性。

但是,我无法弄清楚如何展平数组。

问:什么是 JSONata 查询来展平数组?

输入

想要的