Работа с JSON и XML
Обрабатывайте структурированные данные с помощью JSON и XML в приложениях на C#
«Работа с JSON и XML» — бесплатный урок C# Academy на CoddyKit. Это урок 2 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 5 уроков всего.
Введение в JSON и XML
Работа с JSON и XML
Добро пожаловать на следующий урок! На этом уроке Вы научитесь работать с JSON и XML в C# — двумя распространёнными форматами для хранения и обмена данными. Начнём!

Что такое JSON?
Что такое JSON?
JSON (объектная нотация JavaScript) — это лёгкий формат обмена данными. Его легко читать и записывать людям, а компьютерам легко разбирать и создавать его.
Пример:
{
"name": "Alice",
"age": 25,
"city": "New York"
}
Совет: JSON часто используется в API и для обмена данными между приложениями.
Работа с JSON в C#
Работа с JSON в C#
Для работы с JSON в C# можно использовать пространство имён System.Text.Json. Пример:
Главное: Используйте JsonSerializer для простой и эффективной обработки JSON.
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; }
}
Что такое XML?
Что такое XML?
XML (eXtensible Markup Language — расширяемый язык разметки) — это гибкий текстовый формат для структурированных данных. Его часто используют для хранения данных и файлов конфигурации.
Пример:
Alice 25 New York
Совет: XML более многословен, чем JSON, но поддерживает более сложные структуры и метаданные.
Работа с XML в C#
Работа с XML в C#
Для работы с XML в C# можно использовать пространство имён System.Xml. Пример:
Главное: Используйте XmlSerializer для преобразования объектов в XML и обратно.
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 и XML
JSON и XML
Сравним JSON и XML:
- JSON: лёгкий формат, который легко читать и записывать; идеально подходит для API и современных приложений.
- XML: более многословный формат, поддерживающий сложные структуры; широко используется в устаревших системах и конфигурациях.
Совет: Выбирайте формат с учётом задачи и сложности данных.
Практическое задание
Практическое задание
Создайте программу, которая сериализует список объектов в форматы JSON и XML, а затем десериализует их обратно в объекты. Пример:
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; }
}
Рекомендации по работе с JSON и XML
Рекомендации по работе с JSON и XML
Вот несколько рекомендаций:
- Используйте JSON для лёгкого и понятного человеку обмена данными.
- Используйте XML для сложных структур и конфигураций с большим количеством метаданных.
- Проверяйте форматы данных, чтобы обеспечить совместимость.
Совет: При необходимости используйте библиотеки, например Newtonsoft.Json, для расширенной обработки JSON.
Повторение: JSON и XML
Отличная работа!
Поздравляем! Вы научились работать с JSON и XML для хранения и обмена данными в C#. На следующем уроке мы изучим обработку исключений, чтобы сделать Ваши программы более надёжными. Продолжим программировать!

Часто задаваемые вопросы
Урок «Работа с JSON и XML» бесплатный?
Да — полный текст урока «Работа с JSON и XML» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 5 уроков всего.
Чему я научусь в уроке «Работа с JSON и XML»?
Обрабатывайте структурированные данные с помощью JSON и XML в приложениях на C# Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C# Academy?
Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 5.
Сколько времени занимает урок «Работа с JSON и XML»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C# Academy?
Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Чтение и запись файлов
- Работа с JSON и XML
- Обработка исключений
- Работа с базами данных
- Использование LINQ для запросов к данным