Analizzare i dati JSON utilizzando filtri, formule e grafici

Gli sviluppatori di software e altri professionisti del settore dati spesso devono esaminare nuovi set di dati prima di progettare processi per una produzione efficiente. Man mano che il formato JSON diventa sempre più popolare per lo scambio di dati, il vantaggio di dimensioni ridotte dei dati può comportare una perdita di chiarezza nella struttura dei dati sottostante.

XMLSpy offre funzionalità per la visualizzazione, la modellazione e modifica di file JSON e include strumenti avanzati per l'analisi dei dati JSON, tra cui la possibilità di applicare filtri, formule e creare grafici.

Vediamo un po'.

La guida online di XMLSpy e il progetto di esempi che viene installato insieme a XMLSpy sono un ottimo punto di partenza.

La guida online include istruzioni e illustrazioni per l'applicazione di filtri e formule. Nell'immagine sottostante, un filtro è stato applicato a un documento JSON contenente dati su album musicali, al fine di visualizzare solo le canzoni scritte da Brian May

In questa illustrazione, un file JSON contiene una descrizione di un ordine di generi alimentari e viene applicata una formula per calcolare il prezzo totale

Il file di esempio Chart.jsonc descrive le temperature massime e minime per ogni mese. Questi dati vengono utilizzati per creare un grafico che mostra anche una media calcolata per ciascun mese:

Tutte le immagini sopra sono state generate a partire da file .jsonc. Poiché i documenti JSON, ad eccezione di JSON5, non consentono l'inserimento di commenti, è stato introdotto il formato JSON con commenti (JSONC) per permettere l'aggiunta di commenti all'interno dei documenti JSON.

I filtri, le formule e le funzionalità per la visualizzazione a griglia JSON sono implementati come funzioni XQuery memorizzate in commenti, che vengono interpretati da XMLSpy per analizzare i dati JSON. Questo può essere verificato visualizzando il file Chart.jsonc in modalità testo:

Questi esempi possono suggerire strategie per affrontare in modo efficiente le sfide di sviluppo reali, soprattutto per progetti in cui è necessario elaborare file JSON di grandi dimensioni provenienti da fonti esterne.

Analizzare i dati JSON ottenuti dai servizi web

Supponiamo di dover elaborare dati relativi alle previsioni del tempo per un numero qualsiasi di città in qualsiasi parte del mondo, con un orizzonte temporale di 5 giorni. Questi dati potrebbero essere utili per prevedere le tempistiche delle spedizioni tra importanti destinazioni, o anche per i velisti che trascorrono le vacanze nelle zone tropicali. Esistono numerose API disponibili per ottenere informazioni sul meteo, e tutte forniscono dati in formati leggermente diversi. In questo articolo, analizzeremo i dati provenienti dall'API di openweathermap.org.

È possibile inviare una richiesta REST all'API direttamente dal menu principale "File/Apri" in XMLSpy. Basta cliccare sul pulsante "Passa a URL" nella parte inferiore della finestra di dialogo "Apri" e inserire la chiamata API come URL del file:

Il risultato della chiamata API verrà visualizzato nella finestra di modifica principale. Non essendo presente un'intestazione per i dati JSON che ne identifichi il formato o la versione, non verrà riconosciuto automaticamente, ma è possibile utilizzare l'opzione File/Salva con nome e applicare l'estensione .jsonc:

Cliccando sul pulsante "Griglia", si passa alla visualizzazione a griglia e i dati JSON diventano immediatamente più comprensibili:

La prima cosa che potremmo voler fare è verificare se la temperatura prevista per questa località è inferiore allo zero. Questo può essere fatto facilmente applicando un filtro all'elenco. Possiamo cliccare sull'icona del filtro, situata a destra dell'elemento "[ ] list" in cima all'elenco, e inserire un'espressione XQuery, seguendo l'esempio di filtro presente nella guida di XMLSpy come riferimento per la sintassi. Il filtro verrà applicato immediatamente per visualizzare solo le previsioni di temperature inferiori allo zero:

Dato che al momento siamo interessati solo ai valori della temperatura, abbiamo anche compresso la visualizzazione di ogni elemento nell'array, cliccando sulle barre di scorrimento grigie situate a sinistra di ogni numero di elemento, come mostrato sopra. Ora è chiaro che in questa località si registreranno alcune notti piuttosto fredde!

Ora, potremmo voler individuare la temperatura più bassa prevista in questa previsione. Possiamo utilizzare una formula per farlo. Nell'immagine sottostante, abbiamo inserito un nuovo nodo nell'array della lista, ne abbiamo modificato il tipo in "formula" e abbiamo assegnato un nome alla formula. Invece di inserire direttamente la formula nella visualizzazione a griglia, possiamo utilizzare la finestra di supporto XQuery per creare, testare e debuggare un'espressione XQuery:

Possiamo copiare l'espressione completata dall'editor XQuery e incollarla nella visualizzazione a griglia JSON:

Utilizzando una strategia simile e partendo dall'esempio Chart.jsonc, possiamo aggiungere un grafico per visualizzare i dati:

Gli elementi ChartConfig definiscono i parametri utilizzati dalla funzione di creazione del grafico, ma anche la funzione di creazione del grafico stessa può essere implementata all'interno della finestra XQuery

Un'elaborazione riuscita visualizza i dati dell'immagine binaria nella finestra dei risultati. È inoltre possibile fare clic con il tasto destro del mouse sul grafico per esportarlo come file immagine. Le dimensioni dell'immagine sono definite dai parametri di larghezza e altezza di ChartConfig.

Le funzioni aggiunte ai dati in formato .jsonc sono memorizzate nei commenti, come si può notare qui quando si torna alla visualizzazione in testo.

Se desideriamo applicare le stesse funzioni ad altri dati JSON ottenuti dall'API, abbiamo due opzioni. Possiamo utilizzare la finestra di supporto XQuery per memorizzare temporaneamente un'espressione e applicarla a un altro documento .jsonc, oppure possiamo copiare e incollare l'intero set di espressioni.

Innanzitutto, aggiungiamo ulteriori calcoli per migliorare l'analisi:

Copiare i commenti dal documento di origine e incollarli in un nuovo set di dati tramite l'API consente di ottenere un'analisi immediata:

È possibile condividere facilmente le proprie scoperte con gli altri membri del team. Se si clicca sull'icona del disco accanto alla definizione della funzione, i risultati vengono inclusi nel file come dati JSON:

In alternativa, è possibile salvare il grafico come file immagine per utilizzarlo in un rapporto

Ogni attività di integrazione dei dati e di creazione di report deve iniziare con una chiara comprensione dei dati di origine. L'utilizzo di XMLSpy per analizzare i dati JSON può accelerare il successo del vostro progetto. Per una prospettiva diversa, questo video dimostrativo presenta filtri, funzioni, grafici e molte altre funzionalità avanzate della visualizzazione JSON Grid.

Scaricate oggi stesso una versione di prova gratuita, che include la guida online, il tutorial e numerosi esempi pratici!