Trabajo con JSON y XML
Procese datos estructurados mediante JSON y XML en aplicaciones de C#
Trabajo con JSON y XML es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 2 de 5. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 5 lecciones en total.
Introducción a JSON y XML
Trabajo con JSON y XML
¡Bienvenido a la próxima lección! En esta lección, aprenderá a trabajar con JSON y XML en C#, dos formatos comunes para almacenar e intercambiar datos. ¡Comencemos!

¿Qué es JSON?
¿Qué es JSON?
JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos. Es fácil de leer y escribir para las personas, y fácil de analizar y generar para las máquinas.
Ejemplo:
{
"name": "Alice",
"age": 25,
"city": "New York"
}
Consejo: JSON se usa habitualmente para las API y el intercambio de datos entre aplicaciones.
Trabajo con JSON en C#
Trabajo con JSON en C#
Puede usar el espacio de nombres System.Text.Json para trabajar con JSON en C#. Ejemplo:
Punto clave: Use JsonSerializer para un procesamiento de JSON sencillo y eficiente.
using System;
using System.Text.Json;
class Program {
static void Main() {
string json = "{\"name\":\"Alice\",\"age\":25,\"city\":\"New York\"}";
// Deserialize JSON to an object
var person = JsonSerializer.Deserialize<Person>(json);
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");
// Serialize an object to JSON
string newJson = JsonSerializer.Serialize(person);
Console.WriteLine("Serialized JSON: " + newJson);
}
}
class Person {
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
¿Qué es XML?
¿Qué es XML?
XML (eXtensible Markup Language) es un formato de texto flexible para datos estructurados. Se usa habitualmente para almacenar datos y en archivos de configuración.
Ejemplo:
Alice 25 New York
Consejo: XML es más verboso que JSON, pero admite estructuras y metadatos más complejos.
Trabajo con XML en C#
Trabajo con XML en C#
Puede usar el espacio de nombres System.Xml para trabajar con XML en C#. Ejemplo:
Punto clave: Use XmlSerializer para convertir objetos a XML y de XML a objetos.
using System;
using System.Xml.Serialization;
using System.IO;
class Program {
static void Main() {
string xml = "<Person><Name>Alice</Name><Age>25</Age><City>New York</City></Person>";
// Deserialize XML to an object
var serializer = new XmlSerializer(typeof(Person));
using (var reader = new StringReader(xml)) {
var person = (Person)serializer.Deserialize(reader);
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, City: {person.City}");
}
// Serialize an object to XML
var newPerson = new Person { Name = "Bob", Age = 30, City = "San Francisco" };
using (var writer = new StringWriter()) {
serializer.Serialize(writer, newPerson);
Console.WriteLine("Serialized XML: " + writer.ToString());
}
}
}
public class Person {
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
JSON frente a XML
JSON frente a XML
A continuación, se comparan JSON y XML:
- JSON: Ligero, fácil de leer y escribir, ideal para las API y las aplicaciones modernas.
- XML: Más verboso, admite estructuras complejas y se usa ampliamente en sistemas heredados y configuraciones.
Consejo: Elija el formato según su caso de uso y la complejidad de los datos.
Desafío práctico
Desafío práctico
Cree un programa que serialice una lista de objetos en los formatos JSON y XML y, después, los deserialice de nuevo a objetos. Ejemplo:
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Xml.Serialization;
using System.IO;
class Program {
static void Main() {
var people = new List<Person> {
new Person { Name = "Alice", Age = 25, City = "New York" },
new Person { Name = "Bob", Age = 30, City = "San Francisco" }
};
// Serialize to JSON
string json = JsonSerializer.Serialize(people);
Console.WriteLine("JSON:\n" + json);
// Serialize to XML
var serializer = new XmlSerializer(typeof(List<Person>));
using (var writer = new StringWriter()) {
serializer.Serialize(writer, people);
Console.WriteLine("XML:\n" + writer.ToString());
}
}
}
public class Person {
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
Prácticas recomendadas para JSON y XML
Prácticas recomendadas para JSON y XML
Estas son algunas prácticas recomendadas:
- Use JSON para el intercambio de datos ligeros y legibles.
- Use XML para estructuras complejas y configuraciones con muchos metadatos.
- Valide los formatos de datos para garantizar la compatibilidad.
Consejo: Cuando sea necesario, use bibliotecas como Newtonsoft.Json para un procesamiento avanzado de JSON.
Repaso de JSON y XML
¡Felicidades!
¡Enhorabuena! Ha aprendido a trabajar con JSON y XML para almacenar e intercambiar datos en C#. En la próxima lección, exploraremos el manejo de excepciones para hacer que sus programas sean más robustos. ¡Sigamos programando!

Preguntas frecuentes
¿La lección «Trabajo con JSON y XML» es gratis?
Sí — el texto completo de «Trabajo con JSON y XML» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 5 lecciones en total.
¿Qué aprenderé en «Trabajo con JSON y XML»?
Procese datos estructurados mediante JSON y XML en aplicaciones de C# Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 5.
¿Cuánto tiempo toma la lección «Trabajo con JSON y XML»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Lectura y escritura de archivos
- Trabajo con JSON y XML
- Comprender la gestión de excepciones
- Trabajo con bases de datos
- Uso de LINQ para consultas de datos