Introduzione al parser JSON in C#

Introduzione al parser JSON in C#

L'analisi JSON (JavaScript Object Notation) è indipendente dal linguaggio, un formato leggero per lo scambio di dati, autodescrittivo e di facile comprensione. Il parser JSON è un'alternativa a XML, rappresenta gli oggetti in formato di testo strutturale e i dati archiviati in coppie chiave-valore. L'estensione del nome file JSON è .json. Le classi di JSON hanno permesso di serializzare gli oggetti in testo JSON e anche di de-serializzare il testo JSON in oggetti c'è il supporto integrato di UTF-8.

Sintassi:

Inizia il tuo corso di sviluppo software libero

Sviluppo Web, linguaggi di programmazione, test software e altro

Vediamo la sintassi per JSON (JavaScript Object Notation) come segue,

  • Il metodo Jobject.Parse() è un metodo di classe di oggetti e questo metodo viene utilizzato per analizzare la stringa JSON negli oggetti di C#. In base al valore della chiave, analizza i dati della stringa e quindi recupera i dati utilizzando i valori della chiave. Per il metodo parse la sintassi è la seguente,
Jobject.Parse(jsonStringName);
  • Un altro metodo per analizzare la stringa JSON utilizzando JsonConvert.DeserializeObject() che appartiene alla classe JsonConvert. Vediamo la sintassi di seguito,
JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);
  • Per analizzare la stringa JSON utilizzando JavaScriptSerialize(). Deserialize(), questo metodo è applicato solo alle ultime versioni di .NET, vediamo la sintassi qui sotto

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

Come funziona il parser JSON in C#?

JSON (JavaScript Object Notation) è un formato leggero per lo scambio di dati ed è facile da scrivere e leggere dagli esseri umani e viene analizzato generato dalle macchine. Fornisce prestazioni elevate e una minore allocazione dello spazio di memoria. Esistono molti controlli di terze parti per fornire dati dal lato client al lato server in formato stringa JSON ed è essenziale eseguire il cast della stringa JSON su un oggetto adatto per accedere ai dati, controlli di terze parti come la griglia dell'interfaccia utente di Kendo e presto. In questo è presente il supporto integrato UTF-8.
Il metodo Jobject.Parse() è un metodo di classe di oggetti e questo metodo viene utilizzato per analizzare la stringa JSON negli oggetti di C#. In base al valore della chiave analizza i dati della stringa, infine recupera i dati utilizzando i valori della chiave. Di seguito vediamo il formato di analisi JSON e il flusso di lavoro

{
string jsonString = @"{
'user_FirstName':'Peter',
'user_LastName':'Paul'
}";
By using the JSON parsing method we can convert and retrieve as follows,
var getResult = JObject.Parse(jsonString);

In questo modo possiamo recuperare i dati.

Un altro metodo per analizzare la stringa JSON utilizzando JsonConvert.DeserializeObject() che appartiene alla classe JsonConvert il metodo chiamato JsonConvert.DeserializeObject() utilizzato per convertire la stringa JSON nell'oggetto C#. Questi oggetti vengono creati dalla stringa JSON. Il formato utilizzato per questo metodo è il seguente,

JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);

Per recuperare il risultato di questo metodo possiamo utilizzare in questo modo, per creare una classe UserDetails con attributi First_Name e Last_Name, per inserire i dati in formato JSON come di seguito

var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}";

Per convertire i dati in questo modo come segue,

var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString);

Per analizzare la stringa JSON usando JavaScriptSerialize(). Deserialize(), questo metodo viene applicato solo alle versioni successive di .NET, questo metodo non sarà applicabile alle versioni precedenti a tale scopo possiamo utilizzare i primi due metodi per convertire la stringa JSON in oggetti C#. Il formato utilizzato per questo metodo è il seguente,

JavaScriptSerializer().Deserialize<CustomClassName>(jsonString);
To create the class with UserDetails as follows,
class UserDetails
{
public string userName { get; set; }
public int userAge { get; set; }
}

Per inserire i dettagli dell'utente per la conversione da JSON a oggetti c# come segue,

var input_json = @"{""name"":""Peter Paul"",""age"":49}";

Per convertire gli oggetti json in c# usando il metodo serializer() di seguito come segue,

var resultObject = new JavaScriptSerializer().Deserialize<UserDetails>(input_json);

.NET Framework supporta le classi per la deserializzazione e la serializzazione in JSON, utilizzando quella che utilizziamo con DataContractJsonSerializer. Usando il codice qui sotto possiamo deserializzare gli oggetti JSON, per usare il metodo abbiamo bisogno di alcune procedure come segue,

L'applicazione deve avere il riferimento della libreria System.Runtime.Serialization.

L'intera classe dovrebbe avere DataContract e gli attributi devono avere attributi DataMember.

[DataContract]
public class USerDetails
{
[DataMember]
public string First_Name {
get; set;
}
[DataMember]
public string Last_Name {
get; set;
}
}
  • Per serializzare e deserializzare è necessario utilizzare il metodo WriteObject per serializzare un oggetto e utilizzare il metodo ReadObject per deserializzare gli oggetti JSON.

string get_json = "{ \"First_Name\":\"Smith\",\"LastName\":\"Rio\" }";
DataContractJsonSerializerjsonSerializer = newDataContractJsonSerializer(typeof(USerDetails));

Json.NET è il miglior framework per l'ambiente di lavoro. RETE. Ci sono molti vantaggi e le funzionalità di JSON sono le seguenti,

  • È la conversione flessibile del serializzatore JSON tra oggetti .NET e JSON
  • Ci sarà il manuale di scrittura e lettura JSON di LINQ to JSON
  • Funziona più velocemente di .NET e ha serializzatori JSON integrati con dati ad alte prestazioni.
  • JSON di facile lettura e scrittura con rientro.
  • La conversione tra JSON e XML è facile.

Esempi

Programma n. 1

Il metodo Jobject.Parse() è un metodo di classe di oggetti e questo metodo viene utilizzato per analizzare la stringa JSON negli oggetti di C#. In base al valore della chiave analizza i dati della stringa, infine recupera i dati utilizzando i valori della chiave. Vediamo l'implementazione dell'analisi JSON di seguito,

using System;
using Newtonsoft.Json.Linq;
namespace JSONParsing
{
public class Parsing
{
public static void Main(string[] args)
{
string jsonString = @"{
'user_FirstName':'Peter',
'user_LastName':'Paul'
}";
//Using the JSON-parse method here
var getResult = JObject.Parse(jsonString);
Console.WriteLine("\n\tUsing JSON-Parse Method");
Console.WriteLine(string.Concat("\n\tDisplaying User First and Last Name: ", getResult["user_FirstName"], " " + getResult["user_LastName"], "."));
}
}
}

Risultato:

Programma n. 2

Per analizzare la stringa JSON utilizzando JsonConvert.DeserializeObject() che appartiene alla classe JsonConvert, il metodo chiamato JsonConvert.DeserializeObject() utilizzato per convertire la stringa JSON nell'oggetto C#. Questi oggetti vengono creati dalla stringa JSON.

using System;
using Newtonsoft.Json;
namespace JSONParse_Program
{
public class UserDetails
{
public string First_Name
{
get; set;
}
public string Last_Name
{
get; set;
}
}
public class Parsing
{
public static void Main(string[] args)
{
var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}";
//Use of the method
var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString);
Console.WriteLine("JSON-Parse Method\n");
Console.WriteLine(string.Concat("\nDisplaying First and Last Name, ", result.First_Name, " " + result.Last_Name, "."));
}
}
}

Risultato:

Conclusione

In questo articolo, ho spiegato l'utilizzo del parser JSON, ad esempio, utilizzando questi metodi possiamo analizzare il JSON nel programma C# ed estrarre anche valori.