Convertir objetos a JSON y al revés en C#
En esta lección vas a convertir un objeto de C# en una cadena JSON y a volver a crear el objeto a partir de esa cadena con System.Text.Json.
Introducción
JSON es un formato muy extendido para intercambiar datos entre aplicaciones, sobre todo a través de APIs. La biblioteca System.Text.Json, incluida en .NET, convierte objetos en JSON (serialización, serialize) y JSON en objetos (deserialización, deserialize) con un rendimiento muy bueno.
El método JsonSerializer.Serialize convierte el record Product en una cadena JSON. El método Deserialize<Product> lee esa cadena y vuelve a crear un objeto Product. El resultado puede ser null si los datos están vacíos o mal formados, por eso el programa usa el operador ?. para acceder a Name y Price. El resultado mostrado es Book: 12.5.
Ejemplo de C# ejecutable
using System;
using System.Text.Json;
record Product(string Name, decimal Price);
class Program
{
static void Main()
{
var json = JsonSerializer.Serialize(new Product("Book", 12.5m));
var product = JsonSerializer.Deserialize<Product>(json);
Console.WriteLine($"{product?.Name}: {product?.Price}");
}
}
Book: 12.5Practica con el depurador
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
- Sumar un objeto JSON plano Analiza un objeto JSON plano cuyos valores son enteros y suma los valores. Fácil
- Construir un objeto JSON Convierte claves y valores en una cadena de objeto JSON, escapando correctamente comillas y barras invertidas. Fácil