如何解决使用m子4中的选项进行状态检查
正在尝试检查json数据下方的更改字段中是否存在Name字段。
输入:
{
"data": {
"schema": "1vThoUjGykaw_VgT4Qu2eg","payload": {
"Job_Prev_Name__c": "C##-#7-00052 | Mule UT","LastModifiedDate": "2020-09-03T06:52:08Z","ChangeEventHeader": {
"commitNumber": 10720388062229,"commitUser": "00570000001c9fmAAA","sequenceNumber": 1,"entityName": "ATI_Job__c","changeType": "UPDATE","changedFields": [
"Name","LastModifiedDate","Job_Name__c","Job_Prev_Name__c"
],"changeOrigin": "com/salesforce/api/soap/49.0;client=SfdcInternalAPI/","transactionKey": "00042924-3d1d-fae6-7d7a-1a3fbda54122","commitTimestamp": 1599115928000,"recordIds": [
"a77V00000000vI4IAI"
]
},"Job_Name__c": "Mule UV","Name": "C##-#7-00052 | Mule UV"
},"event": {
"replayId": 1020702
}
},"channel": "/data/ATI_Job__ChangeEvent"
}
现在使用的条件是
payload.data.payload.changedFields.Name?
但是每次都失败。如何在选择连接器中检查此条件?
解决方法
您输入的json似乎不是有效的json。我对其进行了一些修改,以帮助您解决问题。
{
"schema": "1vThoUjGykaw_VgT4Qu2eg","payload": {
"Job_Prev_Name__c": "C##-#7-00052 | Mule UT","LastModifiedDate": "2020-09-03T06:52:08Z","ChangeEventHeader": {
"commitNumber": 10720388062229,"commitUser": "00570000001c9fmAAA","sequenceNumber": 1,"entityName": "ATI_Job__c","changeType": "UPDATE","changedFields": [
"Name","LastModifiedDate","Job_Name__c","Job_Prev_Name__c"
],"changeOrigin": "com/salesforce/api/soap/49.0;client=SfdcInternalAPI/","transactionKey": "00042924-3d1d-fae6-7d7a-1a3fbda54122","commitTimestamp": 1599115928000,"recordIds": [
"a77V00000000vI4IAI"
]
}
}
}
要验证changedFields数组是否包含值“ Name”,可以使用 contains 运算符。同样,由于有效载荷是一个关键字,并且您的输入内容包含在其中,因此您需要将其包装在“”中。
%dw 2.0
output application/json
---
payload."payload".ChangeEventHeader.changedFields contains "Name"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。