I denna Connected Learning Path kommer vi att skapa en kedja som illustrerar hur man konverterar ett enkelt JSON dataset till CSV. Vi kommer också att utforska hur man loopar över ett JSON dataset och filtrerar baserat på värden i data.
| Primärt lärandemål | JSON Connector-funktionalitet |
| Sekundära inlärningsmål |
Tabular Transformation Avancerat Query-kommando Koncernens iteration |
| Förkunskapskrav | Konfigurera JSON Connector-anslutning |
| Mall för support | CLP | Åtkomst till JSON-data |
Steg 1: Skapa en kedja
- Lägg till en ny kedja
- Namnge kedjan CLP | Åtkomst till JSON-data
- Skapa kedjevariabel:
- Klicka på plustecknet under Kedjevariabler
- Namn: cv-JSON-anställd
- Värde: https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/emp_detail.json
- Klicka på plustecknet under Kedjevariabler
- Rädda kedjan
Steg 2: Hämta JSON-data
Vi använder HTTP Connector för att hämta personalrelaterade data i JSON-format från en webbplats.
- Lägg till ett GET-kommando från HTTP Connector till startnoden
- Konfigurera kommandot med följande:
| Namn | GET - Alla anställda |
| Användarens namn | <leave> |
| Lösenord | <leave> |
| CA-certifikat | <leave> |
| Certifikat | <leave> |
| Certifikat Privat nyckel | <leave> |
| Visa svar | Markerad |
| URL | cv-JSON-Employee Kedjevariabel |
| Frågesträng | <leave> |
| Typ av innehåll | applikation/json |
| Svar | <leave> |
- Spara kommandot
Steg 3: Konvertera JSON till CSV
Använd JSON Connector för att konvertera JSON-datasetet till ett CSV-format. Välj endast fälten för anställdas ID och land från JSON-arrayen i det här steget.
Det är viktigt att förstå schemat för JSON-datasetet. Ett List File Content-kommando från File Utilities Connector kan användas för att visualisera schemat. Du kan också lägga till schemat i Response-fältet i Get Command för enkel referens. Nedan visas schemat för de anställdas JSON:
Schema:
[
{
"emp_id": "26-4992011",
"user_name": "apostle0",
"first_name": "Audi",
"efternamn": "Postle",
"job_title": "Chief Design Engineer",
"department": "Marketing",
"city": "Cheyenne",
"country": "United States",
"currency": "USD",
"hire_date": "08/30/2000",
"fte": 1,
"termed": false
}
]
- Lägg till en Array i CSV Kommando från JSON Connector till kedjan.
- Anslut startnoden (GET - All Employees) till Array till CSV Kommando.
- Namnge kommandot: Array till CSV - Alla anställda.
- I parametern JSON Data väljer du Response Output från kommandot GET - All Employees.
- Lämna parametrarna Input Text, Path to root, och Filter tomma.
- Låt parametern Multi-value Delimiter vara ett kommatecken (,).
- Kontrollera alternativet Förhandsgranskning av resultat.
- Avsnittet Columns används för att ange vilka element från JSON-arrayen som ska extraheras till ett kolumnformat (CSV) dataset. Klicka en gång på knappen Add för att lägga till ytterligare en kolumn.
- I den första kolumnen anger du emp_id för kolumnnamnet och .emp_id för JSONPath-parametrarna.
- ❗ Se till att inkludera punkten (.) före emp_id i JSONPath-parametern.
- I den andra kolumnen anger du country för kolumnnamnet och .country för JSONPath-parametrarna.
- Välj Comma för parametern Delimiter.
- I den första kolumnen anger du emp_id för kolumnnamnet och .emp_id för JSONPath-parametrarna.
- Spara kommandot
Steg 4: Hämta den unika listan över länder i data
Använd en enkel Select Distinct -sats med Advanced Query Command i Tabular Transformation Connector för att få fram den unika uppsättningen länder i data. Senare i den här övningen kommer den här listan att användas för att hämta de anställda i varje land för sig.
- Lägg till en Advanced Query Command från Tabular Transformation Connector i kedjan.
- Anslut kommandot Array to CSV - All Employees till kommandot Advanced Query.
- Namnge kommandot: Avancerad fråga - Länder.
- Avsnittet Tables gör det möjligt att använda ett eller flera avgränsade dataset för att skapa tabeller som SQL-satser kan skrivas mot. En SQLite-databas med de angivna tabellerna genereras direkt, och ingen ytterligare installation av programvara krävs.
- I fältet File anger du Converted File Output från kommandot Array to CSV - All Employees.
- Ange Länder i Tabellnamn parameter. Den fråga som anges kommer att köras mot den här tabellen.
- I parametern Query (Fråga) anger du följande:
Välj Distinct Country från Countries
- Ange Comma för parametrarna Input Delimiter och Output Delimiter.
- Kontrollera Resultat av förhandsgranskning Parameter
- Spara kommandot.
Steg 5: Skapa en JSON-array från landslistan
Vi använder kommandot CSV to JSON från JSON Connector för att konvertera den unika listan med länder till en JSON-array. En Command Group kan sedan iterera över varje objekt i denna array.
- Lägg till en CSV till JSON Kommando från JSON Connector till kedjan.
- Anslut kommandot Advanced Query - Countries till kommandot CSV to JSON.
- Konfigurera kommandot med hjälp av följande:
| Namn | CSV till JSON - Länder |
| Inmatningsfil | Resultat Utdata från Advanced Query - Countries Kommando |
| Skiljetecken | Komma (,) |
- Spara kommandot
Steg 6: Lägg till en kommandogrupp
Lägg till en kommandogrupp i kedjan för att möjliggöra iteration över vart och ett av de enskilda länder som identifierats i steget Advanced Query.
- Lägg till en kommandogrupp i kedjan.
- Anslut CSV till JSON - Countries Command till In avsnitt i Command Group.
- Klicka på kommandogruppen och välj sedan droppikonen för att ändra kommandofärgen till orange.
- Namnge gruppen: Aktiva anställda.
- Aktivera Iterations under fliken iterations och välj JSON File Output från CSV to JSON - Countries Command.
- Spara kommandogruppen.
Steg 7: Filtrera JSON-data för anställda efter land
Konvertera JSON datasetet till CSV och filtrera endast posterna för anställda i det land som bearbetas i iterationen. Det här steget belyser två kraftfulla funktioner - möjligheten att loopa eller iterera och möjligheten att tillämpa filter på JSON-konverteringsprocessen. Genom att förstå dessa förmågor stärks ens förmåga att utveckla robusta och effektiva kedjor.
Kopiera den tidigare konfigurerade Array till CSV Command för detta steg och konfigurationen använder i stort sett samma konfiguration utom där det anges nedan.
- Kopiera Array till CSV - All Employees Command.
- Anslut Group Starta från kommandogruppen till Array till CSV - Alla anställda (kopia) Kommando.
- Redigera kommandot.
- Namnge kommandot: Array till CSV - Anställda per land.
- I parametern Filter anger du nedanstående:
?(@.land == "<JSON>")
-
- Utrymmet före och efter det dubbla likhetstecknet (==) är krävs.
- <JSON> bör ersättas med JSON File Iteration under Group Iterator i Variable Pane.
- När du lägger till JSON File Iteration klickar du på variabelbubblan och lägger till en Get Value from JSON Variable Transformation.
- I parametern Value i Variable Transformation skriver du country och trycker sedan på Enter. Kom ihåg att JSON är skiftlägeskänslig.
- Redigera emp_id-kolumnen så att den har en Kolumnnamn av employee_id. Ändra inte JSONPath.
- Det kolumnnamn som genereras av kommandot behöver inte matcha JSON Array-nyckeln.
- Lägg till 10 kolumner i kommandot och konfigurera enligt nedan:
| Kolumnens namn | JSONSökväg |
| Användarnamn | .användarnamn |
| förnamn | .förnamn |
| efternamn | .efternamn |
| titel | .jobb_titel |
| avdelning | .avdelning |
| stad | .stad |
| valuta | .valuta |
| anställningsdatum | .anställnings_datum |
| fte | .heltidsanställning |
| Avslutad | .benämns |
- Spara kommandot.
Steg 8: Testa övningen
Nu när kedjan är klar kan du testa resultatet.
- Publicera kedjan.
- Klicka på Execute och välj sedan Run Chain.
- När kedjan har slutförts klickar du på noden Array to CSV - Employees by Country.
- Observera att iterationen kördes fem (5) gånger.
- Markera varje iterationsvärde och klicka sedan på fliken Inputs. Kontrollera att Filter stämmer överens med nedanstående tabell.
- Välj iteration 5 och klicka på fliken Loggar. Bekräfta att förhandsgranskningen av data överensstämmer med bilden nedan.
| Iteration 1 | USA |
| Iteration 2 | Brasilien |
| Iteration 3 | Kenya |
| Iteration 4 | Italien |
| Iteration 5 |
Australien |
Om du vill lära dig mer om datatransformation med hjälp av kedjor kan du kolla in Connected Learning Paths - Transformation Introduction!