Med JSON Connector kan du bruke kommandoer til å transformere, hente og konvertere JavaScript Object Notation (JSON) data som en del av en kjede. Med denne kontakten kan du for eksempel
- Konverter en JSON-matrise eller et JSON-objekt til CSV
- Konverter CSV-data til en JSON-array
- Parse tekst som JSON med et validert skjema
Merk: Flere av kontaktenes kommandoer genererer en JSON-utdata. For å trekke ut en JSON-verdi som en streng, liste eller JSON for bruk med en kommando senere i en kjede, bruker en variabeltransformasjon.
Forutsetninger
For å kunne bruke JSON-kontakten anbefaler vi at du har en grunnleggende forståelse av JSON-syntaksen.
JSON lagrer og overfører strukturerte data - fra ett enkelt tall til flere strenger, matriser og objekter - som ren tekst. En JSON-streng inneholder enten:
- En matrise- eller en liste over verdier
- Et -objekt, som inneholder en assosiativ matrise med navn/verdi-par
For å støtte komplekse datastrukturer kan du bygge inn matriser og objekter i JSON.
Matriser
I JSON er matriser omgitt av hakeparenteser [] og inneholder en kommaseparert liste med verdier:
- Tall
- Tekststrenger, omgitt av doble anførselstegn
"" - Booleans,
trueellerfalse - Matriser, omgitt av firkantparenteser
[] - Objekter, omgitt av krøllete parenteser
{} -
NULLverdier
En matrise med Wdata-funksjoner kan for eksempel være [ "Tables", "Queries", "Chains" ].
Objekter
Objekter er omgitt av krøllparenteser {} og inneholder en kommaseparert liste med navn/verdi-par. Hvert par inneholder et feltnavn i anførselstegn "", etterfulgt av et kolon : og feltets verdi. Objekter støtter de samme verditypene og den samme syntaksen som matriser. For eksempel:
{
"product":"Wdata",
"company":"Workiva".
"features":[
"Tables",
"Queries",
"Chains"
]
} } Konfigurer JSON-kontakten
Merk: For å gjøre kontakten tilgjengelig for bruk i organisasjonens kjeder, må en sikkerhetsadministrator i organisasjonen først aktivere den fra Configuration.
- Fra Chain Builder klikker du på Connections, og deretter Create øverst til høyre.
- Under Connector Connection velger du JSON og standard CloudRunner.
- Under Basic Info angir du et unikt navn og en beskrivelse for å identifisere kontakten.
- Velg miljøene som skal brukes med tilkoblingen, og klikk på Lagre.
- For å teste tilkoblingen kan du opprette og kjøre en kjede med -kontaktens CSV til JSON -kommando, og kontrollere at den returnerer en gyldig utdata.
Feilsøking
Hvis kommandoen Array to CSV ikke genererer en gyldig utdata, må du se etter disse potensielle problemene.
Array til CSV lykkes, men utdataene inneholder ingen data
Hvis kommandoen Array to CSV indikerer en vellykket konvertering, men utdataene ikke inneholder data, må du kontrollere at Input File -inndataene inneholder JSON-matriser. Denne JSON-filen vil for eksempel returnere no detaljer om sykler og baller:
{
"store": {
"bicycle": {
"color": "red",
"price": 19.95
},
"ball": {
"color": "blue",
"price": 21.95
} }
}
} } Hvis du i stedet vil ha informasjon om sykler og baller, pakker du inn detaljene i hakeparenteser [], som en matrise. For eksempel:
{
"store": {
"sykkel": [{
"color": "red",
"price": 19.95
}],
"ball": [{
"color": "blue",
"price": 21.95
}]
}
} } Stien til rotmatriseelementet ble ikke funnet
Hvis Array to CSV returnerer feilen "Feil ved å finne rotmatriseelementet, vennligst sjekk banen din: Stien ble ikke funnet", må du kontrollere at nøkkelen som skal isoleres, er i en matrise. Hvis du for eksempel vil fange opp usageUnit i denne JSON-filen, skriver du inn JSONPath .pricingInfo[0].pricingExpression.usageUnit som inndata for kommandoen 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,
"tieredRates": [{
"startUsageAmount": 0,
"unitPrice": {
"currencyCode": "USD",
"units": "0"
}
}]
},
"currencyConversionRate": 1,
"effectiveTime": "2019-08-18T02:30:55.193Z"
}],
"serviceProviderName": "Google"
}]
}]