`n 如何在C#中读取和写入JSON?

如何在C#中读取和写入JSON?

Clock Icon 发布时间:2026/10/22 16:09  · 

在NET/" style="text-decoration: none; color: inherit;" title="C#">C#中处理JSON格式的读写操作并不复杂,开发者可以利用内置的JsonSerializer类或流行的Newtonsoft.Json库进行这些操作。
使用系统内置的JsonSerializer类进行读取和写入非常方便。准备一个目标类来映射JSON数据,例如:
```csharppublic class Person{ public string Name { get; set; } public int Age { get; set; }}```
读取JSON时,通过FileStream或StreamReader来获取文件信息,再用JsonSerializer进行反序列化。代码示例:
```csharpusing (var file = File.OpenRead("data.json")){ var serializer = new JsonSerializer(); var person = serializer.Deserialize(new JsonTextReader(new StreamReader(file)));}```
在写JSON时,创建需要序列化的对象并使用StreamWriter和JsonSerializer进行操作。示例代码如下:
```csharpvar person = new Person { Name = "Alice", Age = 30 };using (var file = File.Create("data.json")){ var serializer = new JsonSerializer(); serializer.Serialize(new StreamWriter(file), person);}```
如果需要更灵活、更强大的功能,Newtonsoft.Json库提供了更多选项。安装Newtonsoft.Json包,可通过NuGet包管理器轻松完成。
使用Newtonsoft.Json进行读取时,可以直接调用JsonConvert类提供的DeserializeObject方法。示例代码如下:
```csharpstring json = File.ReadAllText("data.json");var person = JsonConvert.DeserializeObject(json);```
为了写入JSON数据,可以利用JsonConvert类的SerializeObject方法,将对象转化为JSON字符串并写入文件。代码如下:
```csharpvar person = new Person { Name = "Bob", Age = 25 };string json = JsonConvert.SerializeObject(person);File.WriteAllText("data.json", json);```
处理JSON时,需要注意版本兼容性以及JSON格式的正确性。在使用Newtonsoft.Json时,最多支持到.NET/" style="text-decoration: none; color: inherit;" title="NET">NET Framework 4.0及以上版本。保持库的更新可以获得最新特性及安全性。
在修改和更新JSON文件时,应始终备份源文件,以防止数据丢失。文件的操作也需保证权限设置正确,以确保能够顺利读写文件。
使用JSON在项目中不仅可以使数据交流更加高效,还能够提升系统的响应速度。通过以上方法,NET/" style="text-decoration: none; color: inherit;" title="C#">C#开发者能够简单地实现JSON的读写操作。

推荐文章

热门文章