如何在AWS Step Functions中用JSON Path引用根元素值作为键取值?
问题:AWS Step Functions中动态键的JSON Path取值需求
原始JSON结构:
{ "a" : 1, "key_to_find" : "value_of_key", "nested" : { "value_of_key" : "real_value", "b" : 2 } }
需求说明:
需要编写JSON Path表达式获取"real_value",但"value_of_key"这个键是未知的,必须动态引用根元素里key_to_find字段的值作为键来访问nested对象。之前尝试$.nested['$.key_to_find']无效,要求必须在AWS Step Functions中使用,不能借助外部编程语言或类库。
解决方案
可以实现,正确的JSON Path表达式是:
$.nested[$.key_to_find]
说明:
- 你之前的错误是把
$.key_to_find用单引号包裹了,这会让它被当成字面量字符串键(也就是去查找nested里名为$.key_to_find的字段),而不是动态解析根节点的key_to_find值。 - 去掉引号后,
$.key_to_find会先被解析为根节点对应的"value_of_key",再用这个值作为键去访问nested对象,最终就能拿到"real_value"。 - 这个语法完全符合AWS Step Functions的JSON Path规范,不需要额外工具就能直接使用。
内容的提问来源于stack exchange,提问作者mostr
相关产品推荐
相关产品推荐

