Необходимо идентифицировать оператора мула - PullRequest
0 голосов
/ 06 июня 2019

Я хочу преобразовать мой список данных JSON в массив

Я пытался использовать срывание и выравнивание, но я запутался с выражением

Я хочу конвертировать ниже JSON. Здесь relatedPartList и deliveryrableFileList приходят несколько раз, но я хочу поместить его в массив.

{
"documentRevisionList": {
          "entityId": "854598400000480352532DA50006EFDB",
          "deleted": "false",
          "revision": "A",
          "revisionSequenceNumber": "0",
          "latestRevision": "true",
          "title": "PC FOR EBIZ TESTING",
          "status": "Active",
          "relatedPartList": 
          {
            "tcpn": "145154-1",
            "partRevision": "K",
            "relationshipVerified": "true"
          },
          "relatedPartList": {
            "tcpn": "271598-000",
            "partRevision": "O",
            "relationshipVerified": "true"
          },
          "relatedPartList": {
            "tcpn": "825281-000",
            "partRevision": "O",
            "relationshipVerified": "true"
          },
          "deliverableFileList": {
            "entityId": "854598400000480352532E3B000760FE",
            "url": "https://dmtecdev.us.tycoelectronics.com/dmtec/documentDelivery/getFile?deliverableId=854598400000480352532E3B000760FE",
            "fileName": "ENG_PC_10072013-2_A_PC.pdf",
            "fileLanguage": "English",
            "fileType": "pdf",
            "fileSize": "13631",
            "fileAttached": "true"
          },
          "deliverableFileList": {
            "entityId": "000000000000F4E6561BFAB600055FA1",
            "url": "https://dmtecdev.us.tycoelectronics.com/dmtec/documentDelivery/getFile?deliverableId=000000000000F4E6561BFAB600055FA1",
            "fileName": "ENG_PC_10072013-2_A(830530).docx",
            "fileLanguage": "English",
            "fileType": "docx",
            "fileSize": "12969",
            "fileAttached": "true"
          }
        }
        }

Я хочу этот тип ответа

"documentRevisionList": {
          "entityId": "854598400000480352532DA50006EFDB",
          "deleted": "false",
          "revision": "A",
          "revisionSequenceNumber": "0",
          "latestRevision": "true",
          "title": "PC FOR EBIZ TESTING",
          "status": "Active",
          "relatedPartList":
          [ 
          {
            "tcpn": "145154-1",
            "partRevision": "K",
            "relationshipVerified": "true"
          },
          {
            "tcpn": "271598-000",
            "partRevision": "O",
            "relationshipVerified": "true"
          },
          {
            "tcpn": "825281-000",
            "partRevision": "O",
            "relationshipVerified": "true"
          }
          ]
          "deliverableFileList": [{
            "entityId": "854598400000480352532E3B000760FE",
            "url": "https://dmtecdev.us.tycoelectronics.com/dmtec/documentDelivery/getFile?deliverableId=854598400000480352532E3B000760FE",
            "fileName": "ENG_PC_10072013-2_A_PC.pdf",
            "fileLanguage": "English",
            "fileType": "pdf",
            "fileSize": "13631",
            "fileAttached": "true"
          },
          {
            "entityId": "000000000000F4E6561BFAB600055FA1",
            "url": "https://dmtecdev.us.tycoelectronics.com/dmtec/documentDelivery/getFile?deliverableId=000000000000F4E6561BFAB600055FA1",
            "fileName": "ENG_PC_10072013-2_A(830530).docx",
            "fileLanguage": "English",
            "fileType": "docx",
            "fileSize": "12969",
            "fileAttached": "true"
          }]
        }

1 Ответ

0 голосов
/ 04 июля 2019

Это простой случай использования * селектора.

%dw 2.0
output application/json
---
{
  documentRevisionList: {
    entityId: payload.documentRevisionList.entityId,
    deleted: payload.documentRevisionList.deleted,
    ...
    relatedPartList: payload.documentRevisionList.*relatedPartList,
    deliverableFileList: payload.documentRevisionList.*deliverableFileList
  }
}

Бонусные баллы: вы можете установить переменную в payload.documentRevisionList для менее подробных выражений.

...