Как динамически использовать значение в объекте json?

#dataweave #mule4

#поток данных #муле4

Вопрос:

У меня есть полезная нагрузка json в виде:

 {  "id_123": "sample_id" }  

Я хочу распечатать полезную нагрузку json:

 {  "id": "sample_id" }  

Логика для этого, которую я хочу, такова:

 //var id = id {  "id": vars.id    "_123" //how to dynamically use this value to be able to print sample_id viz payload."id_123" }  

Ответ №1:

Я не очень хорошо понял вопрос, но вы можете попробовать что-то похожее на приведенное ниже —

 %dw 2.0 output application/json --- payload mapObject using (key = $){  a : $,  value : payload."$key"  }  

Или вы также можете попробовать это-

 %dw 2.0 output application/json var key = "id_"    "123" --- {  value : payload."$key"  }  

Дайте мне знать, если это вам поможет.

Ответ №2:

Вы можете использовать динамический селектор для получения ключа от объекта с помощью выражения:

 %dw 2.0 output application/json var data=  {  "id_123": "sample_id"  } var key="id" --- {  "id": data[key  "_123"] }  

Выход:

 {  "id": "sample_id" }