Con il connettore JSON, puoi utilizzare i comandi per trasformare, recuperare e convertire i dati JavaScript Object Notation (JSON) come parte di una catena. Ad esempio, con questo connettore puoi:
- Convertire un array o un oggetto JSON in CSV
- Convertire dati CSV in un array JSON
- Analizzare il testo come JSON con uno schema convalidato
Nota: Diversi comandi dei connettori generano un output JSON. Per estrarre un valore JSON come stringa, elenco o JSON da utilizzare con un comando successivo in una catena, utilizza una trasformazione variabile.
Prerequisiti
Per utilizzare il connettore JSON, ti consigliamo di avere una conoscenza di base della sintassi JSON.
JSON memorizza e trasmette dati strutturati - da un singolo numero a più stringhe, array e oggetti - come testo semplice. Una stringa JSON contiene o:
- Un array - o un elenco di valori
- Un oggetto , che contiene un array associativo di coppie nome/valore
Per supportare strutture di dati complesse, puoi annidare array e oggetti all'interno del tuo JSON.
Array
In JSON, gli array sono circondati da parentesi quadre [] e contengono un elenco di valori separati da virgole:
- Numeri
- Stringhe di testo, circondate da doppi apici
"" - Booleani,
veroofalso - Array, circondati da parentesi quadre
[] - Oggetti, circondati da parentesi graffe
{} -
NULLvalori
Ad esempio, un array di caratteristiche Wdata sarebbe [ "Tables", "Queries", "Chains" ].
Oggetti
Gli oggetti sono circondati da parentesi graffe {} e contengono un elenco di coppie nome/valore separate da virgole. Ogni coppia contiene un nome di campo tra virgolette doppie "", seguito da due punti : e dal suo valore. Gli oggetti supportano gli stessi tipi e la stessa sintassi dei valori degli array. Ad esempio:
{
"prodotto": "Wdata",
"azienda": "Workiva".
"caratteristiche":[
"Tabelle",
"Query",
"Catene"
]
} Configurare il connettore JSON
Nota: Per rendere il connettore disponibile per l'uso nelle catene della tua organizzazione, un amministratore della sicurezza dell'org deve prima abilitarlo da Configurazione.
- Da Builder catena, clicca su Connessioni e poi su Crea in alto a destra.
- In Connettore Connessione, seleziona JSON e il CloudRunner predefinito.
- In Informazioni di base, inserisci un nome e una descrizione unici per identificare il connettore.
- Seleziona gli ambienti da utilizzare per la connessione e clicca su Salva.
- Per testare la connessione, crea ed esegui una catena con il comando del connettore CSV to JSON e verifica che restituisca un output valido.
Risoluzione dei problemi
Se il comando Array to CSV del connettore non genera un output valido, verifica la presenza di questi potenziali problemi.
Array to CSV riesce, ma l'output non contiene dati
Se il comando Array to CSV indica una conversione riuscita ma il suo output non contiene dati, assicurati che il suo Input File input contenga array JSON. Ad esempio, questo JSON restituirebbe nessun dettaglio su biciclette e palloni:
{
"store": {
"bicicletta": {
"colore": "rosso",
"prezzo": 19.95
},
"palla": {
"colore": "blu",
"prezzo": 21.95
}
}
} Invece, per restituire dettagli su biciclette e palloni, avvolgi i dettagli con le parentesi quadre [], come un array. Ad esempio:
{
"negozio": {
"bicicletta": {
"colore": "rosso",
"prezzo": 19.95
}],
"palla": [{
"colore": "blu",
"prezzo": 21.95
}]
}
} Percorso dell'elemento radice dell'array non trovato
Se l'errore Array to CSV restituisce "Error finding the root array element, please check your path: Path not found", verifica che la chiave da isolare si trovi in un array. Ad esempio, per catturare usageUnit in questo JSON, inserisci il JSONPath .pricingInfo[0].pricingExpression.usageUnit come input del comando 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"
}]
}