Met de JSON-connector kunt u opdrachten gebruiken om gegevens in JavaScript Object Notation (JSON) te transformeren, op te halen en te converteren als onderdeel van een keten. Met deze connector kunt u bijvoorbeeld:
- Converteer een JSON-array of -object naar CSV
- CSV-gegevens converteren naar een JSON-array
- Tekst als JSON met een gevalideerd schema parsen
Opmerking: De opdrachten van verschillende connectors genereren een JSON-uitvoer. Om een JSON-waarde als tekenreeks, lijst of JSON te extraheren voor gebruik met een opdracht later in een keten, gebruikt u een variabele transformatie.
Vereisten
Om de JSON-connector te kunnen gebruiken, raden wij een basiskennis van de JSON-syntax aan.
JSON bewaart en verzendt gestructureerde gegevens - van een enkel getal tot meerdere tekenreeksen, arrays en objecten - als platte tekst. Een JSON-string bevat ofwel:
- Een array-of lijst-van-waarden
- Een object, dat een associatieve matrix van naam/waardeparen bevat
Om complexe gegevensstructuren te ondersteunen, kunt u arrays en objecten in uw JSON nesten.
Rijen
In JSON worden arrays omgeven door vierkante haakjes [] en bevatten ze een door komma's gescheiden lijst van waarden:
- Nummers
- Tekststrings, omgeven door dubbele aanhalingstekens
"" - Booleans,
trueoffalse - Rijen, omgeven door vierkante haakjes
[] - Objecten, omgeven door accolades
{} -
NULLwaarden
Een array van Wdatakenmerken zou bijvoorbeeld [ "Tables", "Queries", "Chains" ] zijn.
Objecten
Objecten worden omgeven door accolades {} en bevatten een door komma's gescheiden lijst van naam/waardeparen. Elk paar bevat een veldnaam tussen dubbele aanhalingstekens "", gevolgd door een dubbele punt : en de waarde ervan. Objecten ondersteunen dezelfde typen en syntaxis van waarden als arrays. Bijvoorbeeld:
{
"product":"Wdata",
"company":"Workiva".
"features":[
"Tables",
"Queries",
"Chains"
]
} De JSON-connector instellen
Opmerking: Om de connector beschikbaar te maken voor gebruik in de ketens van uw organisatie, moet een beveiligingsbeheerder van de org deze eerst inschakelen vanuit Configuratie.
- Ga naar Chain Builder, klik op Connections, en vervolgens op Create rechtsboven.
- Selecteer onder Connector Connection, JSON en de standaard CloudRunner.
- Voer onder Basisinfo een unieke naam en beschrijving in om de connector te helpen identificeren.
- Selecteer de omgevingen die u met de verbinding wilt gebruiken en klik op Opslaan.
- Om de verbinding te testen, maakt en voert u een keten uit met de CSV to JSON opdracht van de connector, en controleert u of deze een geldige uitvoer oplevert.
Probleemoplossing
Als de opdracht Array to CSV van de connector geen geldige uitvoer genereert, controleer dan op deze mogelijke problemen.
Array naar CSV lukt, maar de uitvoer heeft geen gegevens
Als de opdracht Array to CSV een succesvolle conversie aangeeft maar de uitvoer geen gegevens bevat, controleer dan of de invoer Input File JSON-arrays bevat. Deze JSON zou bijvoorbeeld geen details over fietsen en ballen opleveren:
{
"winkel": {
"fiets": {
"color": "red",
"price": 19.95
},
"bal": {
"color": "blue",
"price": 21,95
}
}
} Als u in plaats daarvan details over fietsen en ballen wilt retourneren, omwikkelt u de details met vierkante haakjes [], als een array. Bijvoorbeeld:
{
"winkel": {
"fiets": [{
"color": "red",
"price": 19,95
}],
"ball": [{
"color": "blue",
"price": 21,95
}]
}
} Pad van basisarray-element niet gevonden
Als de fout Array to CSV "Error finding the root array element, please check your path: Path not found," controleer dan of de sleutel die u wilt isoleren zich in een matrix bevindt. Om bijvoorbeeld usageUnit in deze JSON vast te leggen, voert u het JSONPath .pricingInfo[0].pricingExpression.usageUnit in als invoer voor de opdracht Path to Root:
{
"skus": { {
"skuId":"0033-4F4C-36F1",
"description":"Long Term Storage (us-east4)",
"category": {
"serviceDisplayName":"BigQuery",
"usageType":"OnDemand"
},
"serviceRegions": [
"us-east4"
],
"pricingInfo": [{
"summary": "",
"pricingExpression": {
"usageUnit": "GiBy.mo",
"displayQuantity": 1,
"gedifferentieerde tarieven": [{
"startUsageAmount": 0,
"eenheidsprijs": {
"currencyCode": "USD",
"units": "0"
}
}]
},
"currencyConversionRate": 1,
"effectiveTime": "2019-08-18T02:30:55.193Z"
}],
"serviceProviderName": "Google"
}]
}