Temas importantes de C#

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

C#
Ejecutar código →
Program.cs
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}");
    }
}
Resultado de la ejecución
Book: 12.5

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.

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.

Todos los retos