C# Parse JSON

  1. Programma C# per analizzare la stringa JSON utilizzando il metodo JsonConvert.DeserializeObject()
  2. Programma C# per analizzare la stringa JSON utilizzando il metodo JObject.Parse()
  3. Programma C# per analizzare la stringa JSON utilizzando il metodo JavaScriptSerializer().Deserialize()

JavaScript Object Notation (JSON) è un formato per lo scambio di dati. È più facile scrivere per gli esseri umani e più semplice da elaborare per le macchine. In C# esistono molti metodi per elaborare i dati JSON.

In questo articolo, discuteremo i metodi con cui puoi analizzare JSON in un oggetto C#.

Programma C# per analizzare la stringa JSON utilizzando il metodo JsonConvert.DeserializeObject()

Il metodo JsonConvert.DeserializeObject() appartiene alla classe JsonConvert. Viene utilizzato per convertire una stringa JSON in un oggetto C#. L’oggetto è di una classe personalizzata che viene creata analizzando la stringa JSON.

La sintassi corretta per utilizzare questo metodo è la seguente:

JsonConvert.DeserializeObject<CustomClassName>(JsonStringName);

Codice di esempio:

using System;
using Newtonsoft.Json;
 
 
namespace JSONParsing
{
    public class Parsing
    {
        public static void Main(string[] args)
        {
            var jsonString = @"{'FirstName': 'Olivia', 'LastName': 'Mason'}"; 
            //Use of the method
            var NameObject = JsonConvert.DeserializeObject < Name > (jsonString);  
            Console.WriteLine(string.Concat("The First Name and Last Name are, ", NameObject.FirstName, " " + NameObject.LastName, "."));
        }  
        //Creating custom class after analyzing JSON string
public class Name  
       {  
    public string FirstName {  
        get;  
        set;  
      }  
    public string LastName {  
        get;  
        set;  
      }     
 
        }
    }
}

Produzione:

The First Name and Last Name are: Olivia Mason.

Questo metodo genera JsonSerializationException se la conversione da JSON all’oggetto C# non ha esito positivo. Questa eccezione viene quindi gestita utilizzando un blocco try-catch.

Programma C# per analizzare la stringa JSON utilizzando il metodo JObject.Parse()

Il metodo JObject.Parse() è un metodo di classe JObject. Questo metodo di analisi viene utilizzato per analizzare una stringa JSON in un oggetto C#. Analizza i dati della stringa in base al suo valore di chiave. Questo valore chiave viene quindi utilizzato per recuperare i dati.

La sintassi corretta per utilizzare questo metodo è la seguente:

Jobject.Parse(jsonStringName);

Codice di esempio:

using System;
using Newtonsoft.Json.Linq;

 
namespace JSONParsing
{
    public class Parsing
    {
        public static void Main(string[] args)
        {
            string jsonString = @"{  
            'FirstName':'Olivia',  
            'LastName':'Mason'  
        }";  
        //Use of the method
        var Name = JObject.Parse(jsonString);  
        Console.WriteLine(string.Concat("The First Name and Last Name is: ", Name["FirstName"], " " + Name["LastName"], ".")); 
        }  

    }
}
    

Produzione:

The First Name and Last Name is: Olivia Mason.

Il metodo JObject.Parse() genera eccezioni che potrebbero essere gestite utilizzando un blocco try-catch.

Programma C# per analizzare la stringa JSON utilizzando il metodo JavaScriptSerializer().Deserialize()

Questo metodo può essere implementato nelle versioni successive di .NET. Per le versioni precedenti, i due metodi precedenti sono i migliori. Questo metodo viene utilizzato per convertire una stringa JSON in un oggetto C#.

La sintassi corretta per utilizzare questo metodo è la seguente:

JavaScriptSerializer().Deserialize<CustomClassName>(jsonString); 

Codice di esempio:

using System;
using System.Web.Script.Serialization;


class Parsing
{
    static void Main()
    {
        var json = @"{""name"":""Olivia Mason"",""age"":19}";
        var ObjectName = new JavaScriptSerializer().Deserialize<MyInfo>(json);
        Console.WriteLine("The name is:",ObjectName.name, ".");
    }
}

class MyInfo
{
    public string name { get; set; }
    public int age { get; set; }
}  

Produzione:

The name is: Olivia Mason.

Articolo correlato - Csharp JSON

  • C# Converte l'oggetto in una stringa JSON