使用 JSON 和 XML
在 C# 应用中处理结构化数据 JSON 和 XML
使用 JSON 和 XML 是 CoddyKit 上的免费 C# Academy 课时。 这是第 2 节课,共 5 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C# Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C# Academy 课程共包含 5 节课。
JSON 与 XML 简介
使用 JSON 和 XML
欢迎来到下一课!在本课中,您将学习如何在 C# 中使用 JSON 和 XML。这是两种常见的数据存储和交换格式。让我们开始吧!

什么是 JSON
什么是 JSON?
JSON(JavaScript 对象表示法)是一种轻量级的数据交换格式。它便于人类阅读和编写,也便于计算机解析和生成。
示例:
{
"name": "Alice",
"age": 25,
"city": "New York"
}
提示:JSON 常用于 API 以及应用程序之间的数据交换。
在 C# 中使用 JSON
在 C# 中使用 JSON
您可以使用 System.Text.Json 命名空间在 C# 中处理 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 标记语言)是一种用于结构化数据的灵活文本格式。它通常用于数据存储和配置文件。
示例:
Alice 25 New York
提示:XML 比 JSON 更为冗长,但支持更复杂的结构和元数据。
在 C# 中使用 XML
在 C# 中使用 XML
您可以使用 System.Xml 命名空间在 C# 中处理 XML。示例:
要点:使用 XmlSerializer 可以将对象转换为 XML,也可以从 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 回顾
做得很好!
恭喜您!您已经学会了如何在 C# 中使用 JSON 和 XML 存储和交换数据。在下一课中,我们将探索异常处理,让您的程序更加健壮。让我们继续编写代码吧!

常见问题解答
「使用 JSON 和 XML」课时是免费的吗?
是的 — 「使用 JSON 和 XML」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C# Academy 课程的其余内容,请升级到 CoddyKit PRO。 C# Academy 课程共包含 5 节课。
「使用 JSON 和 XML」这节课中我会学到什么?
在 C# 应用中处理结构化数据 JSON 和 XML 你通过在浏览器中直接运行的动手代码来练习 C# Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 C# Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 C# Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 5 节。
「使用 JSON 和 XML」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 C# Academy 课中编写并运行代码吗?
能。每节 C# Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 读取和写入文件
- 使用 JSON 和 XML
- 理解异常处理
- 使用数据库
- 使用 LINQ 查询数据