Básicamente son dos las formas más conocidas para trabajar con JSON cuando trabajamos con .NET.
Antes hay que aprender estos conceptos para movernos con soltura después 😎
Qué es serializar y deserializar
Es un proceso que convierte un objeto en una representación plasmada en texto plano, el formato de texto más utilizado para este fin es JSON.
Entonces podemos decir que:
Si convertimos un objeto en texto plano estamos hablando de Serializar.
Si lo que hacemos es convertir un texto plano en un objeto, entonces nos referimos a Deserializar.
Newtonsoft.Json
Durante mucho tiempo .NET no tenía un serializador nativo, es por eso que lo que más se utilizaba era la librería Json.NET de Newtonsoft.
var person1 = new Person();
person1.PersonId = Guid.NewGuid().ToString();
person1.Name = "Gerson";
person1.Address = "Sample Av.132";
string json = JsonConvert.SerializeObject(person1); //aquí serializo
Console.WriteLine($"Texto serializado: {json}");
var obj = JsonConvert.DeserializeObject<Person>(json); //aquí deserializo
Console.WriteLine(obj.ToString());
System.Text.Json
Desde la versión .NET Core 3.0 se implementó la funcionalidad de serialización en la plataforma .NET convirtiéndose así en la forma estándar cuando se trata de trabajar con JSON.
var person2 = new Person();
person2.PersonId = Guid.NewGuid().ToString();
person2.Name = "Eder";
person2.Address = "Sample Av.254";
string json2 = System.Text.Json.JsonSerializer.Serialize(person2); //aquí serializo
Console.WriteLine($"Texto serializado: {json2}");
var obj2 = System.Text.Json.JsonSerializer.Deserialize<Person>(json2); //aquí deserializo
Console.WriteLine(obj2.ToString());
Aquí te dejo cómo lucen ambos métodos en una consola:
Por supuesto, no son las únicas formas, pero sí las más conocidas y utilizadas.
Espero que esta entrada te haya gustado crack!
Compártela ahora mismo 🙌
Créditos de la imagen de portada: Foto de Obi - @pixel8propix en Unsplash