Deserializar JSON con C#

Muhammad Zeeshan 12 octubre 2023
Deserializar JSON con C#

La deserialización en C# se refiere a recuperar el objeto serializado para que pueda cargarlo en la memoria. Luego, permite que el objeto sea utilizado nuevamente. Finalmente, devuelve la vida al estado anterior del objeto al establecer sus atributos, etc.

Este tutorial le enseña cómo deserializar un objeto JSON usando el lenguaje de programación C#.

Deserializar JSON con C#

Veamos un ejemplo de deserializar un objeto JSON usando el lenguaje de programación C#. En el siguiente ejemplo, usaremos los datos de los estudiantes para deserializar JSON con C#. Pero, primero, veamos el siguiente ejemplo paso a paso.

  • Para comenzar, tenemos que importar las siguientes bibliotecas.
    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.Script.Serialization;
    using Newtonsoft.Json;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
  • Tenemos que crear una estructura de Estudiante que contendrá la información del Estudiante, por ejemplo, Studentid y Studentname de la siguiente manera.
    public class Students {
      public List<studentinfo> MyStudents { get; set; }
    }
    public class studentinfo {
      public string Studentid { get; set; }
      public string Studentname { get; set; }
    }
    
  • Ahora, crearemos una lista JSON y la completaremos con datos aleatorios de estudiantes.
    string json =
        @"{""MyStudents"":[
      {""Studentid"":""3227"",""Studentname"":""Muhammad Zeeshan""},
      {""Studentid"":""3256"",""Studentname"":""Haseeb Khan""},
      {""Studentid"":""3241"",""Studentname"":""Saad Ashrafi""},
      {""Studentid"":""3267"",""Studentname"":""Bawa Khan""}
    ]}";
    
  • Luego, use la función .Deserialize() para deserializar la lista.
    Students derializedStudent =
        new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Students>(json);
    
  • Por último, usaremos el bucle foreach para mostrar los resultados en la consola.
    foreach (var item in derializedStudent.MyStudents) {
      Console.WriteLine("id: {0}, name: {1}", item.Studentid, item.Studentname);
    }
    

El código fuente completo se proporciona a continuación.

Código fuente completo

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Script.Serialization;
using Newtonsoft.Json;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DeserializeJSONbyZeeshan {
  class Program {
    static void Main(string[] args) {
      string json =
          @"{""MyStudents"":[
                           {""Studentid"":""3227"",""Studentname"":""Muhammad Zeeshan""},
                           {""Studentid"":""3256"",""Studentname"":""Haseeb Khan""},
                           {""Studentid"":""3241"",""Studentname"":""Saad Ashrafi""},
                           {""Studentid"":""3267"",""Studentname"":""Bawa Khan""}
                       ]}";

      Students derializedStudent =
          new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Students>(json);

      foreach (var item in derializedStudent.MyStudents) {
        Console.WriteLine("id: {0}, name: {1}", item.Studentid, item.Studentname);
      }
    }
  }
}

public class Students {
  public List<studentinfo> MyStudents { get; set; }
}

public class studentinfo {
  public string Studentid { get; set; }
  public string Studentname { get; set; }
}

Producción :

id: 3227, name: Muhammad Zeeshan
id: 3256, name: Haseeb Khan
id: 3241, name: Saad Ashrafi
id: 3267, name: Bawa Khan
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Artículo relacionado - Csharp JSON