2017-11-17 10 views
0

Ich möchte die Liste aller Projekte mit den gleichen companyName und companyId kombinieren.Dataweave-Array-Transformation, um Daten mit denselben Schlüsselwerten zu kombinieren

Ich brauche Hilfe bei der Verarbeitung von Daten, so dass es alle Daten mit den gleichen Werten für companyName und companyId und kombinieren Sie es in einem eigenen Array.

Eingabebeispiel Daten, die ich werde erwarten hier:

[{ 
    "companyName": "ABC company", 
    "companyId": "123", 
    "projectName": "project1", 
    "levelCode": "893", 
    "projectStatus": "2" 

}, 
{ 
    "companyName": "ABC company", 
    "companyId": "123", 
    "projectName": "project2", 
    "levelCode": "1386", 
    "userId": "183", 
    "projectStatus": "2" 

}, 
{ 
    "companyName": "ABC company", 
    "companyId": "123", 
    "projectName": "project3", 
    "levelCode": "1655", 
    "userId": "183", 
    "projectStatus": "1" 

}, 
{ 
    "companyName": "ABC company", 
    "companyId": "123", 
    "projectName": "project4", 
    "levelCode": "1865", 
    "userId": "159", 
    "projectStatus": "2" 

}] 

Erwartete Ausgabe

Nach Manipulieren alle Daten: Beachten Sie, dass alle Projekte companyName „ABC Unternehmen“ beteiligt jetzt in einem Array zusammengefasst werden (Projekte).

[ 
    { 
    "companyName": "ABC company", 
    "companyId": "123", 
    "projects": { 
     "projectName": "project1", 
     "levelCode": "893", 
     "projectStatus": "2" 
    }, 
    { 
     "projectName": "project2", 
     "levelCode": "1386", 
     "userId": "183", 
     "projectStatus": "2" 
    }, 
    { 
     "projectName": "project3", 
     "levelCode": "1655", 
     "userId": "183", 
     "projectStatus": "1" 
    }, 
    { 
     "projectName": "project4", 
     "levelCode": "1865", 
     "userId": "159", 
     "projectStatus": "2" 
    } 
    } 
] 
+0

Shu: Normalerweise wird bei Stackoverflow erwartet, dass Sie zeigen, was Sie bereits ausprobiert haben. Dokumentation, auf die Sie sich bezogen haben und was Sie denken, dass dieser Prozess involviert sein könnte. Achten Sie auch in Zukunft auf Ihre Formatierung: Sie können ein vollständiges Code-Snippet markieren und dann auf {} klicken oder ctrl + k [cmd + k] eingeben. – Zargold

Antwort

0

Sie haben GroupBy-Operator, mit denen dies leicht getan werden kann. Hier müssen Sie zu einer Gruppe von company und CompanyID Nutzlast groupBy $ .companyName, CompanyID

Lesen Sie bitte den Link unten, um detaillierte Informationen über groupby Betreiber. https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-operators#group-by

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/19006180) –

Verwandte Themen