从给定的json中,我希望获得所需的输出,如何使用dataweave来实现呢? [英] From the given json, I want to get the desired output, How to do it using dataweave?
本文介绍了从给定的json中,我希望获得所需的输出,如何使用dataweave来实现呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
输入
{
"editable": true,
"sections": [
{
"title": "Identification",
"Content": [
{
"name": "Classification",
"apiname": "SP_Classification__c",
"text": {
"Name": "EQ-10186735",
"SP_Altitude__c": "A001",
"SP_Batch_Number__c": "B001",
"SP_Classification__c": "Products",
"SP_Current_Equipment_Partner__c": "E001",
"SP_Current_Equipment_Partner__r": "E002",
"SP_Delivery_Date__c": "2016-09-02",
"SP_Delivery_Note__c": "82849654",
"SP_End_of_Commissioning__c": "End001",
"SP_Product_Number__c": "1MV4567-6BJ60-4BD0-Z"
},
"url": "",
"info": ""
},
{
"name": "Product Number",
"apiname": "SP_Product_Number__c",
"text": {
"Name": "EQ-10186735",
"SP_Altitude__c": "A001",
"SP_Batch_Number__c": "B001",
"SP_Classification__c": "Products",
"SP_Current_Equipment_Partner__c": "E001",
"SP_Current_Equipment_Partner__r": "E002",
"SP_Delivery_Date__c": "2016-09-02",
"SP_Delivery_Note__c": "82849654",
"SP_End_of_Commissioning__c": "End001",
"SP_Product_Number__c": "1MV4567-6BJ60-4BD0-Z"
},
"url": "",
"info": ""
},
{
"name": "Current Equipment Partner",
"apiname": "SP_Current_Equipment_Partner__c",
"text": {
"Name": "EQ-10186735",
"SP_Altitude__c": "A001",
"SP_Batch_Number__c": "B001",
"SP_Classification__c": "Products",
"SP_Current_Equipment_Partner__c": "E001",
"SP_Current_Equipment_Partner__r": "E002",
"SP_Delivery_Date__c": "2016-09-02",
"SP_Delivery_Note__c": "82849654",
"SP_End_of_Commissioning__c": "End001",
"SP_Product_Number__c": "1MV4567-6BJ60-4BD0-Z"
},
"url": "",
"info": ""
},
{
"name": "End of Commissioning",
"apiname": "SP_End_of_Commissioning__c",
"text": {
"Name": "EQ-10186735",
"SP_Altitude__c": "A001",
"SP_Batch_Number__c": "B001",
"SP_Classification__c": "Products",
"SP_Current_Equipment_Partner__c": "E001",
"SP_Current_Equipment_Partner__r": "E002",
"SP_Delivery_Date__c": "2016-09-02",
"SP_Delivery_Note__c": "82849654",
"SP_End_of_Commissioning__c": "End001",
"SP_Product_Number__c": "1MV4567-6BJ60-4BD0-Z"
},
"url": "",
"info": ""
}
]
},
{
"title": "Position And Contact",
"Content": [
{
"name": "Batch Number",
"apiname": "SP_Batch_Number__c",
"text": {
"Name": "EQ-10186735",
"SP_Altitude__c": "A001",
"SP_Batch_Number__c": "B001",
"SP_Classification__c": "Products",
"SP_Current_Equipment_Partner__c": "E001",
"SP_Current_Equipment_Partner__r": "E002",
"SP_Delivery_Date__c": "2016-09-02",
"SP_Delivery_Note__c": "82849654",
"SP_End_of_Commissioning__c": "End001",
"SP_Product_Number__c": "1MV4567-6BJ60-4BD0-Z"
},
"url": "",
"info": ""
},
{
"name": "Altitude",
"apiname": "SP_Altitude__c",
"text": {
"Name": "EQ-10186735",
"SP_Altitude__c": "A001",
"SP_Batch_Number__c": "B001",
"SP_Classification__c": "Products",
"SP_Current_Equipment_Partner__c": "E001",
"SP_Current_Equipment_Partner__r": "E002",
"SP_Delivery_Date__c": "2016-09-02",
"SP_Delivery_Note__c": "82849654",
"SP_End_of_Commissioning__c": "End001",
"SP_Product_Number__c": "1MV4567-6BJ60-4BD0-Z"
},
"url": "",
"info": ""
}
]
}
]
}
输出
{
"editable": true,
"sections": [
{
"title": "Identification",
"Content": [
{
"name": "Classification",
"apiname": "SP_Classification__c",
"text": "Products"
"url": "",
"info": ""
},
{
"name": "Product Number",
"apiname": "SP_Product_Number__c",
"text": "1MV4567-6BJ60-4BD0-Z",
"url": "",
"info": ""
},
{
"name": "Current Equipment Partner",
"apiname": "SP_Current_Equipment_Partner__c",
"text": "E001,
"url": "",
"info": ""
},
{
"name": "End of Commissioning",
"apiname": "SP_End_of_Commissioning__c",
"text": "End001",
"url": "",
"info": ""
}
]
},
{
"title": "Position And Contact",
"Content": [
{
"name": "Batch Number",
"apiname": "SP_Batch_Number__c",
"text": "B001,
"url": "",
"info": ""
},
{
"name": "Altitude",
"apiname": "SP_Altitude__c",
"text": "A001",
"url": "",
"info": ""
}
]
}
推荐答案
您似乎需要原样映射除Content元素内的text
属性之外的每个属性。可以使用filterObject()对其进行过滤
%dw 2.0
output application/json
---
{
editable: payload.editable,
sections: payload.sections map
{
title: $.title,
Content: $.Content map
($ mapObject ((value, key, index) ->
(key): if (key as String != "text") value
else value[$.apiname]
)
)
}
}
这篇关于从给定的json中,我希望获得所需的输出,如何使用dataweave来实现呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文