Я получаю из источника json ниже:
{
"totalRows": 2,
"startRow": 1,
"endRow": 2,
"hasNextPage": false,
"searchResults": {
"603": {
"dDocOwner": "sysadmin",
"dIndexedID": "603",
"dDocAuthor": "sysadmin",
"dDocCreator": "sysadmin"
},
"3011": {
"dDocOwner": "sysadmin",
"dIndexedID": "3011",
"dDocAuthor": "sysadmin",
"dDocCreator": "sysadmin"
}
}
}
Я хочу преобразовать вышеуказанный запрос в целевой запрос, как показано ниже:
{
"data" : [
{
"ID":"603",
"Creator":"6141",
"Author":"sysadmin",
"Owner":"sysadmin"},
{
"ID":"3011",
"Creator":"6141",
"Author":"sysadmin",
"Owner":"sysadmin"}
]
}
Я создал приведенное ниже сопоставление в Dataweave, но оно не работает, не могли бы вы дать мне несколько указателей на то же самое:
%dw 1.0
%output application/json skipNullOn="objects"
---
{
"data": (payload.searchResults.* map ((payload01 , indexOfPayload01) ->{
"id": payload01.dIndexedID,
"Creator": payload01.dDocCreator,
"Author": payload01.dDocName,
"Owner": payload01.dDocOwner,
}) when (sizeOf payload) >= 1 otherwise [])
}