简单文档上的过滤器或条件语句?

问题描述

在下面的简单 JSON 文档中

{ "result" : 5 }

我想过滤或应用条件以获得与 result > 5 匹配的值

解决方法

JMESPath 并不是真的要作用于单个对象。

不过,为了实现这一点,您可以使用函数 to_array 将对象转换为数组,然后使用 | [0] 将对象转换回对象,以便提取回列表,如 working with nested data 中所述。

综合起来,这给出了查询:

to_array(@)[?result>`5`] | [0]
  • 在 JSON 上:
    { "result" : 5 }
    
    给出:
    null
    
  • 而且,在 JSON 上:
    { "result" : 6 }
    
    给出:
    {
      "result": 6
    }