Nodi JSON Parser
Categoria: Logic & Data
Difficoltà: Intermedio
Le API restituiscono spesso blocchi di dati complessi e annidati. Il JSON Parser Node agisce come un bisturi: prende in ingresso un blocco JSON (solitamente da un Fetch Node) ed estrae un singolo valore specifico (es. solo il prezzo, solo il titolo) usando un percorso definito (“Path”).
Specifiche Tecniche
Inputs (Ingressi)
| Nome Porta | Tipo Dati | Molteplicità | Descrizione |
|---|---|---|---|
Input | String | Singolo | La sorgente dati. Accetta una stringa JSON valida (es. da Fetch Node). |
Outputs (Uscite)
| Nome Porta | Tipo Dati | Descrizione |
|---|---|---|
Output | String | Il valore estratto convertito in stringa. |
Parametri (Inspector)
| Parametro | Tipo | Default | Descrizione |
|---|---|---|---|
Path | String | - | Il percorso per raggiungere il dato usando la “Dot Notation” (vedi sotto). |
Guida alla Dot Notation (Sintassi Path)
Il parametro Path indica al parser dove cercare.
- Oggetto alla radice:
title(cerca la chiave “title”). - Oggetto annidato:
user.name(cerca “name” dentro l’oggetto “user”). - Array (Liste):
items[0](prende il primo elemento della lista “items”). - Combinazione:
users[2].address.city(prende la città del terzo utente).
Casi d’Uso (Esempi)
Scenario A: Estrazione Prezzo Crypto
Hai chiamato l’API di CoinGecko e hai un JSON enorme.
- Input: JSON completo di Bitcoin.
- Path:
market_data.current_price.usd. - Output:
45000(solo il numero).
Scenario B: Estrazione Immagine
Hai un JSON con i dati di un post Instagram.
- Path:
media_url. - Output:
https://...jpg. - Uso: Collega questo output a un Upscaler Node o Reference Node per scaricare l’immagine.
Troubleshooting (Risoluzione Problemi)
| Sintomo | Causa Probabile | Soluzione |
|---|---|---|
| Output Vuoto ("") | Path errato | Il percorso specificato non esiste nel JSON. Controlla typos (es. user.Name vs user.name). |
| Errore: “Invalid JSON” | Input corrotto | L’input che arriva dal nodo precedente non è un JSON valido (magari è HTML o testo semplice). |
Risultato [Object object] | Path incompleto | Hai puntato a un oggetto intero invece che a un valore finale (stringa/numero). Affina il path (es. aggiungi .id). |