首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSONPath表达式适用于数据流模拟器,但不适用于step函数。

JSONPath表达式适用于数据流模拟器,但不适用于step函数。
EN

Stack Overflow用户
提问于 2021-11-21 18:10:46
回答 2查看 185关注 0票数 1

我试图在AWS函数中使用InputPath过滤器来选择一部分JSON状态输入,以便与JSONPath表达式一起使用。

数据

代码语言:javascript
复制
[
  {
    "ticker": "DE30_EUR",
    "granularity": "M"
  },
  {
    "ticker": "DE30_EUR",
    "granularity": "W"
  },
  {
    "ticker": "DE30_EUR",
    "granularity": "D"
  },
  {
    "ticker": "DE30_EUR",
    "granularity": "H1"
  }
]

当前JSONPath表达式

代码语言:javascript
复制
$[?(@.granularity==H1),?(@.granularity==D),?(@.granularity==W)]

当使用AWS Step函数对上面的数据进行数据流模拟时,这是可行的,并且只返回粒度为"H1“、"D”或"W“的数组项。

问题

但是,当使用step函数作为InputPath或OutputPath时,它返回一个与数据流模拟器不同的空数组。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-22 06:33:15

试试下面的JSONPath

代码语言:javascript
复制
$[?(@.granularity=='H1'|| @.granularity=='D' || @.granularity=='W')]
票数 1
EN

Stack Overflow用户

发布于 2022-08-02 21:42:37

以下是从aws文档中引用的,这个限制对我来说是很难理解的。

引用路径是其语法受到限制的路径,它只能识别JSON结构中的单个节点:

  • 您可以只使用点(.)访问对象字段和方括号()符号.

  • 操作符@ .?*不支持。

不支持

  • 函数(例如length() )。

参考资料:

https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-paths.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70057310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档