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
Utilizzare Tailwind CSS all'interno di React: installazione
Sfruttare lo streaming di una chiamata Http da Blazor
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Hosting di componenti WebAssembly in un'applicazione Blazor static
Limitare le richieste lato server con l'interactive routing di Blazor 8
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Code scanning e advanced security con Azure DevOps
Usare le collection expression per inizializzare una lista di oggetti in C#
Implementare l'infinite scroll con QuickGrid in Blazor Server
C# 12: Cosa c'è di nuovo e interessante
Usare il versioning con i controller di ASP.NET Core Web API
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
I più letti di oggi
- Impostare un elemento come ridimensionabile tramite CSS
- Proteggersi dagli attacchi di Open Redirect in ASP.NET Core MVC
- Personalizzare l'errore del rate limiting middleware in ASP.NET Core
- Accedere alla console di una Azure Container App
- Modificare i metadati nell'head dell'HTML di una Blazor Web App
- Gli oggetti CallOut di Expression Blend 4.0
- SQL Server 2005 December CTP
- Sfruttare le nuove tipologie di input di HTML5 con ASP.NET 4.0
- Upload da una pagina web con Dundas Upload