Проверка наличия или отсутствия поля в полезной нагрузке json

#dataweave #mule4

#сохранение данных #mule4

Вопрос:

Пытаюсь проверить, присутствует ли файл в полезной нагрузке 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"
}
  

выражение сохранения данных, которое я использую, приведено ниже

 payload.data.payload.ChangeEventHeader= "Name"
  

Но я не могу проверить с помощью логики. как я могу изменить это выражение, чтобы проверить, присутствует поле Name или нет

Примечание: я использую соединитель выбора в mule 4

Комментарии:

1. Вы можете попробовать not isEmpty(payload..amp;Name) , если вам все равно, где находится поле, в противном случае используйте ответ @aled

Ответ №1:

Используйте ключ present selector:

 payload.data.payload.ChangeEventHeader.Name?
  

Вывод:

 true
  

Комментарии:

1. Поле имени присутствует внутри «Измененных полей», как я могу это проверить? «Измененные поля»: [ «Name», «LastModifiedDate», «Job_Name__c», «Job_Prev_Name__c» ]

2. Это не то, что показывает вопрос. Измененные поля пусты: "changedFields": [] . Пожалуйста, создайте новый вопрос только для атрибута, который является массивом.