2016-08-31 1 views
0

Mit der Beispiel-JSON-Antwort von jsonplaceholder.com möchte ich eine Jolt-Transformation für das unbenannte Array ausführen, das zurückgegeben wird.Jolt-Transformation unbenanntes Array

Mit der jolt demo konnte ich jedoch nur das Array nach der Benennung des Arrays ("records" in diesem Beispiel) und Wrapping mit geschweiften Klammern transformieren. Wie folgt aus:

Json Eingang:

{ 
"records": [ 
    { 
     "id": 1, 
     "name": "Leanne Graham", 
     "username": "Bret", 
     "email": "[email protected]", 
     "address": { 
      "street": "Kulas Light", 
      "suite": "Apt. 556", 
      "city": "Gwenborough", 
      "zipcode": "92998-3874", 
      "geo": { 
       "lat": "-37.3159", 
       "lng": "81.1496" 
      } 
     }, 
     "phone": "1-770-736-8031 x56442", 
     "website": "hildegard.org", 
     "company": { 
      "name": "Romaguera-Crona", 
      "catchPhrase": "Multi-layered client-server neural-net", 
      "bs": "harness real-time e-markets" 
     } 
    }, 
    { 
     "id": 2, 
     "name": "Ervin Howell", 
     "username": "Antonette", 
     "email": "[email protected]", 
     "address": { 
      "street": "Victor Plains", 
      "suite": "Suite 879", 
      "city": "Wisokyburgh", 
      "zipcode": "90566-7771", 
      "geo": { 
       "lat": "-43.9509", 
       "lng": "-34.4618" 
      } 
     }, 
     "phone": "010-692-6593 x09125", 
     "website": "anastasia.net", 
     "company": { 
      "name": "Deckow-Crist", 
      "catchPhrase": "Proactive didactic contingency", 
      "bs": "synergize scalable supply-chains" 
     } 
    } 
    ] 
} 

Jolt Spec:

[ { "operation": "shift", "spec": { "records": { "*": { "id": "records[&1].user-id", "username": "records[&1].user-username", "email": "records[&1].user-email", "address": { "street": "records[&2].user-street", "suite": "records[&2].user-suite", "city": "records[&2].user-city", "zipcode": "records[&2].user-zipcode" } } } } } ]

Ziel Mein Beispiel ist die Objekthierarchie abzuflachen in der Antwort zurückgegeben, während die Aufrechterhaltung grundlegende [{}, {}, ...] Struktur.

Wie kann ich dies erreichen, wenn der Eingang ein unbenanntes json-Array ist?

Antwort

1

Ich habe gerade die Antwort nach der Einlieferung ...

Hier ist meine überarbeitete Spezifikation für jeden, der interessiert ist:

[ { "operation": "shift", "spec": { "*": { "id": "[&1].user-id", "username": "[&1].user-username", "email": "[&1].user-email", "address": { "street": "[&2].user-street", "suite": "[&2].user-suite", "city": "[&2].user-city", "zipcode": "[&2].user-zipcode" } } } } ]

passen einfach nach spec erklärt ("spec": { "*": { "), dann Zugriff auf die unbenannte Array mit [&1], [&2], etc

+0

Wenn das wirklich Ihren Fall gelöst, vielleicht können Sie es als die Antwort markieren – GournaySylvain

+0

Heute ist der erste da y dass SO mir dies erlaubt. – wesmantooth