C# Parse JSON

  1. Programa de C# para analizar la cadena JSON usando el método JsonConvert.DeserializeObject()
  2. Programa C# para analizar la cadena JSON usando el método JObject.Parse()
  3. C# Programa para analizar la cadena JSON usando el método JavaScriptSerializer().Deserialize()

La Notación de Objetos en JavaScript (JSON) es un formato para el intercambio de datos. Es más fácil de escribir para los humanos y más simple de procesar para las máquinas. En C#, hay muchos métodos para procesar los datos de JSON.

En este artículo, vamos a discutir los métodos por los cuales puedes analizar JSON en un objeto de C#.

Programa de C# para analizar la cadena JSON usando el método JsonConvert.DeserializeObject()

El método JsonConvert.DeserializeObject() pertenece a la clase JsonConvert. Se usa para convertir una cadena JSON en un objeto de C#. El objeto es de una clase personalizada que se crea analizando la cadena JSON.

La sintaxis correcta para usar este método es la siguiente:

JsonConvert.DeserializeObject<CustomClassName>(JsonStringName);

Código de ejemplo:

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;  
      }     
 
        }
    }
}

Producción:

The First Name and Last Name are: Olivia Mason.

Este método lanza JsonSerializationException si la conversión de JSON a un objeto de C# no tiene éxito. Esta excepción se maneja entonces usando un bloque try-catch.

Programa C# para analizar la cadena JSON usando el método JObject.Parse()

El método JObject.Parse() es un método de clase JObject. Este método de parse se usa para parsear una cadena JSON en un objeto C#. Parsea los datos de la cadena basándose en su valor de la clave. Este valor de la clave se usa entonces para recuperar los datos.

La sintaxis correcta para usar este método es la siguiente:

Jobject.Parse(jsonStringName);

Código de ejemplo:

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"], ".")); 
        }  

    }
}
    

Producción:

The First Name and Last Name is: Olivia Mason.

El método JObject.Parse() lanza excepciones que pueden ser manejadas usando un bloque try-catch.

C# Programa para analizar la cadena JSON usando el método JavaScriptSerializer().Deserialize()

Este método puede ser implementado en las últimas versiones de .NET. Para las versiones anteriores, los dos métodos anteriores son los mejores. Este método se usa para convertir una cadena JSON en un objeto de C#.

La sintaxis correcta para usar este método es la siguiente:

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

Código de ejemplo:

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; }
}  

Producción:

The name is: Olivia Mason.

Artículo relacionado - Csharp JSON

  • Convertir cadena en objeto JSON en C#