【问题标题】:Check whether field is present or not in json payload检查json有效负载中是否存在字段
【发布时间】:2020-12-20 16:36:49
【问题描述】:

我正在尝试检查该文件是否存在于 json 有效负载中

我需要检查“姓名”的字段

输入:

{
    "data": {
        "schema": "rWdXQ7M38dwTJ8Ro29S8PQ",
        "payload": {            
            "ChangeEventHeader": {
                "changeType": "CREATE",
                "changedFields": [


                ],
                "Name": "Case",
                "recordIds": [
                    "a77V00000000vI4IAA"
                ]
            },
            
            "Last_Month_Work_Billed_RS__c": 0.0
        },
        "event": {
            "replayId": 10198245
        }
    },
    "channel": "/data/Job__ChangeEvent"
}

正在使用的 dataweave 表达式如下

payload.data.payload.ChangeEventHeader= "Name"

但我无法使用逻辑进行检查。如何更改此表达式以检查名称字段是否存在

注意:我在 mule 4 中使用选择连接器

【问题讨论】:

  • 如果您不在乎字段在哪里,可以尝试not isEmpty(payload..&Name),否则使用@aled 的答案

标签: dataweave mule4


【解决方案1】:

使用key present selector:

payload.data.payload.ChangeEventHeader.Name?

输出:

true

【讨论】:

  • 名称字段存在于“changedFields”中我如何检查这个? “changedFields”:[“姓名”、“LastModifiedDate”、“Job_Name__c”、“Job_Prev_Name__c”]
  • 这不是问题所显示的。 changedFields 为空:"changedFields": []。请为数组属性创建一个新问题。
猜你喜欢
  • 2016-07-01
  • 2020-01-12
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 2015-11-26
  • 1970-01-01
相关资源
最近更新 更多