I servizi REST che si scambiano dati nel formato JSON sono tra i più consueti che possiamo trovare attualmente e sono molto comodi da sviluppare per le proprie esigenze.
In WinRT possiamo recuperare i dati di un servizio REST attraverso una semplice chiamata HTTP con HttpClient e il metodo GetStringAsync, a cui passare l'url specifico.
Il parsing della stringa di ritorno, con struttura JSON, è supportato in modo nativo attraverso le classi del namespace Windows.Data.Json prima fra tutte JsonObject, con il cui metodo Parse possiamo convertire una stringa in un oggetto, per poi recuperare in modo strutturato i vari dati.
var client = new HttpClient(); var data = await client.GetStringAsync("http://echo.jsontest.com/firstname/Max/lastname/Osborne/");
Con una response come questa:
{ lastname: "Osborne", firstname: "Max" }
Possiamo procedere come di seguito:
var jsonObj = Windows.Data.Json.JsonObject.Parse(data); var firstname = jsonObj.GetNamedString("firstname"); var lastname = jsonObj.GetNamedString("lastname"); textBlock1.Text = string.Concat(firstname, Environment.NewLine, lastname);
Una volta creato l'oggetto JsonOject abbiamo a disposizione una serie di metodi per convertire i dati restituiti nei rispettivi tipi, nell'esempio possiamo vedere GetNamedString che converte in stringa il valore di una specifica chiave.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare agenti facilmente con Azure AI Agent Service
Eseguire script pre e post esecuzione di un workflow di GitHub
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Migliorare l'organizzazione delle risorse con Azure Policy
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Usare il colore CSS per migliorare lo stile della pagina
Generare una User Delegation SAS in .NET per Azure Blob Storage
Fornire parametri ad un Web component HTML
Utilizzare una qualunque lista per i parametri di tipo params in C#
Cancellare una run di un workflow di GitHub