Parsing JSON in C#

Mattepuffo's logo
Parsing JSON in C#

Parsing JSON in C#

Non ho ben capito se il C# già include una libreria / classe per il parsing del JSON, comunque io ho deciso di usare Json.NET!

Inoltre vedremo come prendere i dati da un web service remoto.

Prima di tutto dovete aggiungere la libreria al vostro progetto, e potete farlo direttamente da NuGet.

A questo punto creiamo una classe POJO che rappresenta i campi del JSON:

using System;

namespace Book.Models
{
    public class Item
    {
        public string Id { get; set; }
        public string Title { get; set; }
        public string Author { get; set; }
    }
}

Ovviamente i nomi dei campi devono corrispondere a quelli del JSON.

Adesso possiamo prendere i dati da remoto:

using Book.Models;
using Newtonsoft.Json;

namespace Book.Services
{
    public class MockDataStore
    {
        List items;

        public MockDataStore()
        {
            items = new List();
        }

        public async Task GetItemsAsync
                 (bool forceRefresh = false)
        {
            var client = new HttpClient();
            var json = await client.
                          GetStringAsync("https://www.sito.com/file.php";
            List lb = JsonConvert.DeserializeObject(json);
            foreach (Item l in lb)
            {
                items.Add(l);
            }

            return await Task.FromResult(items);
        }
    }
}

Il tutto in maniera asincrona.

Enjoy!


Condividi

Commentami!