Esempio di uno strumento
Analisi JSON dispone dell'opzione Esempio di uno strumento. Consulta Esempi di flussi di lavoro per scoprire come accedere a questo e a molti altri esempi direttamente in Alteryx Designer.
Utilizza Analisi JSON per separare il testo JSON (JavaScript Object Notation) in uno schema di tabella per l'elaborazione a valle. Puoi inserire l'output nello strumento Crea JSON per ricostruirlo nel formato JSON utilizzabile.
Campo JSON: seleziona i campi che contengono il testo JSON. Il campo deve contenere testo JSON valido con tutto il testo di un record in una singola cella. Fai riferimento all'esempio seguente:
{ "firstName": "John", "lastName": "Smith", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] }
Input nell'output: la colonna selezionata è inclusa nel flusso di dati in uscita dallo strumento.
Scegli la modalità di analisi JSON. Le scelte includono...
Valori di output in un singolo campo della stringa
Valori di output in campi specifici di tipi di dati
Annulla annidamento campo JSON : questa opzione è disponibile solo tramite AMP.
Appiattisci array: questa opzione è disponibile solo tramite AMP.
Consulta le sezioni seguenti per ulteriori informazioni ed esempi per ciascuna delle opzioni riportate in precedenza.
Questa opzione genera 2 campi: JSON_Name
e JSON_ValueString
. Utilizzando l'esempio di input precedente, lo strumento restituisce questi dati:
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
JSON_Name | JSON_ValueString |
---|---|
Nome | John |
Cognome | Smith |
age | 25 |
address.streetAddress | 21 2nd Street |
address.city | New York |
address.state | NY |
address.postalCode | 10021 |
phoneNumber.0.type | home |
phoneNumber.0.number | 212-555-1234 |
phoneNumber.1.type | fax |
phoneNumber.1.number | 646-555-4567 |
Questa opzione genera i seguenti 5 campi:
Nome del campo | Descrizione |
---|---|
| JSON_Name è la "chiave" di un oggetto JSON (coppia chiave:valore). Un punto separa la chiave da qualsiasi categoria gerarchica. |
| Il "valore" della stringa corrispondente dell'oggetto JSON (coppia chiave:valore). Se il valore non è una stringa, verrà visualizzato come [Null]. |
| Il "valore" intero corrispondente dell'oggetto JSON (coppia chiave:valore). Se il valore non è un numero intero, verrà visualizzato come [Null]. |
| Il "valore" mobile corrispondente dell'oggetto JSON (coppia chiave:valore). Se il valore non è mobile, viene visualizzato come [Null]. |
| Il "valore" booleano corrispondente dell'oggetto JSON (coppia chiave:valore). Se il valore non è un booleano, verrà visualizzato come [Null]. |
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
JSON_Name | JSON_ValueString | JSON_ValueInt | JSON_ValueFloat | JSON_ValueBool |
---|---|---|---|---|
Nome | John | [Null] | [Null] | [Null] |
Cognome | Smith | [Null] | [Null] | [Null] |
age | [Null] | 25 | [Null] | [Null] |
address.streetAddress | 21 2nd Street | [Null] | [Null] | [Null] |
address.city | New York | [Null] | [Null] | [Null] |
address.state | NY | [Null] | [Null] | [Null] |
address.postalCode | 10021 | [Null] | [Null] | [Null] |
phoneNumber.0.type | home | [Null] | [Null] | [Null] |
phoneNumber.0.number | 212-555-1234 | [Null] | [Null] | [Null] |
phoneNumber.1.type | fax | [Null] | [Null] | [Null] |
phoneNumber.1.number | 646-555-4567 | [Null] | [Null] | [Null] |
Questa opzione consente di annullare l'annidamento degli oggetti JSON nelle colonne. Va solo di un livello più in profondità nell'oggetto JSON.
Avvertimento
Annulla annidamento campo JSON è disponibile solo tramite AMP.
Considera una colonna "ore" nell'input con questi valori:
{
"Tuesday": {"close": "17:00", "open": "08:00"},
"Friday": {"close": "17:00", "open": "08:00"},
"Monday": {"close": "17:00", "open": "08:00"},
"Wednesday": {"close": "17:00", "open": "08:00"},
"Thursday": {"close": "17:00", "open": "08:00"}
}
Questo è l'output quando si annulla l'annidamento della colonna "ore" sopra indicata:
hours.Tuesday | hours.Friday | hours.Monday | hours.Wednesday | hours.Thursday |
---|---|---|---|---|
{"close":"17:00","open":"08:00"} | {"close":"17:00","open":"08:00"} | {"close":"17:00","open":"08:00"} | {"close":"17:00","open":"08:00"} | {"close":"17:00","open":"08:00"} |
Annulla annidamento negli output della colonna "ore" nelle colonne "hours.Tuesday", "hours.Friday", "hours.Monday", e così via.
"Hours.Tuesday" continua a contenere l'oggetto: {"Close": "17:00", "Open": "08:00"}. È possibile annullare l'annidamento di questo valore su hours.Tuesday.close e hours.Tuesday.open con un altro strumento Analisi Json.
Questa opzione è applicabile alle colonne che hanno solo valori di array. Consente di espandere una colonna di array JSON rimuovendo le parentesi quadre. Crea una riga separata per ogni elemento separata da virgola e assegna un ID per ciascuna riga.
Avvertimento
Appiattisci array è disponibile solo tramite AMP.
Prendi in considerazione questo input di array tra parentesi quadre dove il nome della colonna è "ore" e il valore della colonna è un array:
[
{"day": "Monday", "open": "08:00", "close": "17:00"},
{"day": "Tuesday", "open": "08:00", "close": "17:00"},
{"day": "Wednesday", "open": "08:00", "close": "17:00"},
{"day": "Thursday", "open": "08:00", "close": "17:00"},
{"day": "Friday", "open": "08:00", "close": "17:00"}
]
hours_flatten | hours_idx |
---|---|
{"day":"Monday","open":"08:00","close":"17:00"} | 1 |
{"day":"Tuesday","open":"08:00","close":"17:00"} | 2 |
{"day":"Wednesday","open":"08:00","close":"17:00"} | 3 |
{"day":"Thursday","open":"08:00","close":"17:00"} | 4 |
{"day":"Friday","open":"08:00","close":"17:00"} | 5 |