Newtonsoft.Json para C# (.NET): guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Qué es Newtonsoft.Json y para qué sirve?

\n\n

Newtonsoft.Json (a menudo llamado simplemente Json.NET) es la biblioteca más popular y potente para trabajar con el formato JSON en el ecosistema .NET. Proporciona a los desarrolladores de C# herramientas de alto rendimiento y flexibles para la serialización (conversión de objetos C# a cadena JSON) y deserialización (conversión de cadena JSON de vuelta a objetos C#).

\n\n

¿Para qué sirve? JSON (JavaScript Object Notation) se ha convertido en el estándar de facto para el intercambio de datos entre servidores web y clientes, en archivos de configuración, en API y bases de datos (por ejemplo, NoSQL). Newtonsoft.Json permite:

\n
    \n
  • Integrarse fácilmente con cualquier API REST — enviar y recibir datos en formato JSON.
  • \n
  • Trabajar con configuraciones — leer y escribir archivos JSON de configuración.
  • \n
  • Gestionar estructuras complejas — admite objetos anidados, arreglos, diccionarios y tipos dinámicos.
  • \n
  • Personalizar el proceso de serialización — mediante atributos y configuraciones (contratos, ignorar propiedades, formato de fechas, etc.).
  • \n
\n\n

Instalación de Newtonsoft.Json

\n\n

A diferencia de Python (donde se usa pip install) o Node.js (npm install), en el ecosistema .NET se utiliza el administrador de paquetes NuGet. Se puede instalar la biblioteca de varias maneras:

\n\n

Forma 1: A través de la consola del administrador de paquetes (Visual Studio)

\n

Abra Herramientas → Administrador de paquetes NuGet → Consola del administrador de paquetes y ejecute el comando:

\n
Install-Package Newtonsoft.Json
\n\n

Forma 2: A través de .NET CLI (multiplataforma)

\n

Si usa .NET Core / .NET 5+ y trabaja desde la terminal, ejecute:

\n
dotnet add package Newtonsoft.Json
\n\n

Forma 3: A través de la interfaz de Visual Studio

\n

Haga clic derecho en el proyecto → «Administrar paquetes NuGet» → en la pestaña «Examinar» busque Newtonsoft.Json y haga clic en «Instalar».

\n\n

Después de la instalación, agregue al inicio del archivo de código la directiva using Newtonsoft.Json;.

\n\n

Inicio rápido: ejemplo de código

\n\n

Veamos inmediatamente cómo funciona la biblioteca con un ejemplo sencillo. Supongamos que tenemos la clase Person:

\n\n
using System;\nusing Newtonsoft.Json;\n\npublic class Person\n{\n    public string Name { get; set; }\n    public int Age { get; set; }\n    public string Email { get; set; }\n}\n\nclass Program\n{\n    static void Main()\n    {\n        // 1. Creamos un objeto\n        var person = new Person\n        {\n            Name = "Ana",\n            Age = 30,\n            Email = "ana@example.com"\n        };\n\n        // 2. Serialización: objeto -> JSON\n        string json = JsonConvert.SerializeObject(person, Formatting.Indented);\n        Console.WriteLine("JSON serializado:");\n        Console.WriteLine(json);\n\n        // 3. Deserialización: JSON -> objeto\n        string jsonInput = @"{'Name':'Iván','Age':25,'Email':'ivan@example.com'}";\n        Person deserializedPerson = JsonConvert.DeserializeObject<Person>(jsonInput);\n        Console.WriteLine($"\\nObjeto deserializado: {deserializedPerson.Name}, {deserializedPerson.Age}");\n    }\n}
\n\n

Salida:

\n
JSON serializado:\n{\n  "Name": "Ana",\n  "Age": 30,\n  "Email": "ana@example.com"\n}\n\nObjeto deserializado: Iván, 25
\n\n

Métodos y funciones principales de Newtonsoft.Json

\n\n

A continuación se presentan 10 métodos/funciones clave de la biblioteca con descripción detallada y ejemplos.

\n\n

1. JsonConvert.SerializeObject()

\n

Qué hace: Convierte un objeto .NET en una cadena JSON.

\n

Parámetros:

\n
    \n
  • value (object) — objeto a serializar.
  • \n
  • formatting (Nullable<Form

Recommendations