遍历数组并为每个元素生成一个新变量
Iterate through the array and generate a new variable for each element
我有一个 JSON 数组存储在一个变量中,如下所示
{
"Opportunity": {
"QuoteLineItems": {
"QuoteLineItem": {
"ServiceTypeCode": "CC",
"PhaseLevel": "1",
"Quantity": "1",
"UnitPrice": "2,854.50",
"InvoicedSinceLast": "0.00",
"LevelItems": {
"LevelItem": {
"PhaseLevelItemNumber": "R072",
"DocumentNotes": {
"Note": null
}
}
},
"Colonies": {
"ColonyStage": {
"QuoteColonyLineNumber": "1",
"StageItems": {
"StageItem": {
"StageLineProperty": "CHARGE",
"StageQuoteItemNumber": "ICM_033",
"DocumentNotes": {
"Note": null
}
}
}
}
}
}
},
"QuoteLineItem": {
我需要遍历每个 QuoteLineItem 并为每个 Item 生成一个新的 json 变量,因此我使用如下所示的 For each 元素
在 For each 中,我有一个转换 Messgae 来生成一个新的 json,如下所示
%dw 2.0
output application/json
---
{
"productCode" : //Not sure how to access the ServiceTypeCode on the QuoteLineItem
"axSequenceNumber" : vars.counter,
}
如何为每个循环内的转换消息中的每个 QuoteLineItem 获取 ServiceTypeCode。我是 Mulesoft 的新手,非常感谢任何帮助
QuoteLineItem 是对象,不是数组,所以不能用它来迭代。相反,您可以使用 multi-value selector 将所有匹配的键作为数组检索并使用它来迭代:
<foreach doc:name="For Each" collection="#[payload.Opportunity.QuoteLineItems.*QuoteLineItem]">
在 foreach 中,您接收输入数组的每个元素作为有效负载:
%dw 2.0
output application/json
---
{
"productCode" : payload.ServiceTypeCode
"axSequenceNumber" : vars.counter
}
我不确定你试图通过将其存储到变量中来实现什么。您应该考虑单个转换是否可能无法达到相同的结果。
我有一个 JSON 数组存储在一个变量中,如下所示
{
"Opportunity": {
"QuoteLineItems": {
"QuoteLineItem": {
"ServiceTypeCode": "CC",
"PhaseLevel": "1",
"Quantity": "1",
"UnitPrice": "2,854.50",
"InvoicedSinceLast": "0.00",
"LevelItems": {
"LevelItem": {
"PhaseLevelItemNumber": "R072",
"DocumentNotes": {
"Note": null
}
}
},
"Colonies": {
"ColonyStage": {
"QuoteColonyLineNumber": "1",
"StageItems": {
"StageItem": {
"StageLineProperty": "CHARGE",
"StageQuoteItemNumber": "ICM_033",
"DocumentNotes": {
"Note": null
}
}
}
}
}
}
},
"QuoteLineItem": {
我需要遍历每个 QuoteLineItem 并为每个 Item 生成一个新的 json 变量,因此我使用如下所示的 For each 元素
在 For each 中,我有一个转换 Messgae 来生成一个新的 json,如下所示
%dw 2.0
output application/json
---
{
"productCode" : //Not sure how to access the ServiceTypeCode on the QuoteLineItem
"axSequenceNumber" : vars.counter,
}
如何为每个循环内的转换消息中的每个 QuoteLineItem 获取 ServiceTypeCode。我是 Mulesoft 的新手,非常感谢任何帮助
QuoteLineItem 是对象,不是数组,所以不能用它来迭代。相反,您可以使用 multi-value selector 将所有匹配的键作为数组检索并使用它来迭代:
<foreach doc:name="For Each" collection="#[payload.Opportunity.QuoteLineItems.*QuoteLineItem]">
在 foreach 中,您接收输入数组的每个元素作为有效负载:
%dw 2.0
output application/json
---
{
"productCode" : payload.ServiceTypeCode
"axSequenceNumber" : vars.counter
}
我不确定你试图通过将其存储到变量中来实现什么。您应该考虑单个转换是否可能无法达到相同的结果。