【发布时间】:2018-06-27 05:14:25
【问题描述】:
我有一个像下面这样的 JSON
{
"packages": [
{
"screenings": [
{
"data": {
"educationHistory": [
{
"school": "Test education 4"
},
{
"school": "Test education 4"
}
]
}
},
{
"data": {
"educationHistory": [
{
"major": [
"Business Admin."
],
"school": "Test education 1"
},
{
"major": [
"Business Admin."
],
"school": "Test education 1"
}
]
}
}
]
}
]
}
在dataweave中我是这样写的
ns0#EmploymentHistory: {(
payload.packages[0].screenings.data.educationHistory map {
ns0#Employer: {
ns0#EmployerName: $.school
}
}
)}
我得到这样的输出
<ns0:EmploymentHistory>
<ns0:Employer>
<ns0:EmployerName>
<school>Test education 4</school>
<school>Test education 4</school>
</ns0:EmployerName>
</ns0:Employer>
<ns0:Employer>
<ns0:EmployerName>
<school>Test education 1</school>
<school>Test education 1</school>
</ns0:EmployerName>
</ns0:Employer>
</ns0:EmploymentHistory>
我需要像下面这样
<ns0:EmploymentHistory>
<ns0:Employer>
<ns0:EmployerName>
<school>Test education 4</school>
</ns0:EmployerName>
</ns0:Employer>
<ns0:Employer>
<ns0:EmployerName>
<school>Test education 4</school>
</ns0:EmployerName>
</ns0:Employer>
<ns0:Employer>
<ns0:EmployerName>
<school>Test education 1</school>
</ns0:EmployerName>
</ns0:Employer>
<ns0:Employer>
<ns0:EmployerName>
<school>Test education 1</school>
</ns0:EmployerName>
</ns0:Employer>
</ns0:EmploymentHistory>
这个 xpath payload.packages[0].screenings.data.educationHistory map { 循环通过 screening 而不是 educationHistory
【问题讨论】: