You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写JSONata查询实现数组的数组扁平化?

如何用JSONata扁平化数组的数组?

针对你提到的输入[[1,2], [], [3]],想要得到扁平化后的[1, 2, 3],这里有两种实用的JSONata查询方案:

  • 方案一:使用$flatten()内置函数
    这是最直接且通用的方法,JSONata专门提供了$flatten()函数来处理数组扁平化需求,它会递归处理所有嵌套的数组层级,同时自动忽略空数组。

查询代码:

$flatten([[1,2], [], [3]])

执行后直接得到期望输出:[1, 2, 3]。如果你的数组有更深层次的嵌套(比如[[1,[2,3]], [], [4]]),这个函数也能一次性把所有层级都扁平化,得到[1,2,3,4]。

  • 方案二:使用数组展开语法[]
    如果只需要扁平化一层嵌套(刚好匹配你的示例场景),可以用连续的数组展开操作:

查询代码:

[[1,2], [], [3]][][]

原理是第一个[]取出外层数组的每一个子元素,第二个[]再把每个子数组的元素逐一展开,空数组展开后不会生成任何元素,最终结果同样是[1, 2, 3]。这种方式更轻量化,适合确定只有一层嵌套的场景。

内容的提问来源于stack exchange,提问作者MTH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:06:10