0Pricing
C# Academy · 课时

使用 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 和 XML — 插图 1

什么是 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 — 插图 10

常见问题解答

「使用 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 读取和写入文件
  2. 使用 JSON 和 XML
  3. 理解异常处理
  4. 使用数据库
  5. 使用 LINQ 查询数据
← 返回 C# Academy