From a JSON object, I want to return true if a key is missing, false otherwise.
How to achieve this?

  1. 第一种情况,定义了密钥: 而且值是false

    {"my_key": false}
    

    表达my_key将返回false.

    值是一个数字:

    {"my_key": 123}
    

    表达my_key将返回123.

  2. 第二种情况:

    {"my_other_key": false}
    

    表达my_key现在将返回null.

我需要一个适用于这两种情况的表达,在第一种情况下返回false(或其他值),在第二种情况下返回true.

内置功能not_null可能很好,但是,它平等地对待falsenull.

推荐答案

您正在寻找的表达将使用条件"or",并且可以这样表达:

my_key == null || my_key

简而言之,它告诉JMESPath返回

  • 测试my_key == null的结果,只有当my_key的值严格等于null时,该结果才成立
  • 或者-所以,如果测试my_key == null结果为false -值为my_key

将其用于:

  • JSON对象
    {"my_key": false}
    
    会退回false
  • JSON对象
    {"my_key": 123}
    
    会退回123
  • JSON对象
    {"my_other_key": false}
    
    会退回true

Json相关问答推荐

解析JSON说函数parse_json不存在?

用于参考的Jolt变换

组合不同属性的Jolt Spec

如果主对象中已存在属性,则不应在Jolt中引用次对象

递归解码嵌套列表(具有任意深度的列表列表)

在 SQL 存储过程中使用参数 Select 值

XSLT 3.0 Json-to-xml,json 包含 html struct

如何使用 JOLT 将带有列表的 JSON 项目取消列出为多个项目?

使用 jq 从字符串列表开始创建对象

如何从 json 中获取单个元素?

修改 boost::json::object 中的值

Kotlin Android Room 处理 Moshi TypeConverter 中的空对象列表

在PowerShell中按时间戳过滤JSON

Jackson Json:如何将数组转换为 JsonNode 和 ObjectNode?

jQuery.getJSON 和 jQuery.parseJSON 返回 [object Object]?

从 JSON 创建 Hashtable

如何将单引号转义成双引号转成单引号

Python 到 JSON 序列化在十进制上失败

使用 JSONArray 和 JSONObject 进行 Foreach

将 Pandas 数据框转换为嵌套 JSON