C#怎么读取JSON文件 C#解析JSON字符串方法

admin 百科 13
推荐使用System.Text.Json读取JSON文件和解析字符串:读取文件用File.ReadAllText+JsonSerializer.Deserialize;解析字符串同理,或用JsonDocument提取字段;Newtonsoft.Json兼容性好但性能较低。

C#怎么读取JSON文件 C#解析JSON字符串方法-第1张图片-佛山资讯网

在C#中读取JSON文件和解析JSON字符串,最常用、推荐的方式是使用 System.Text.Json(.NET Core 3.0+ 和 .NET 5+ 内置)或 Newtonsoft.Json(即 Json.NET,兼容性更广)。下面分两种常见场景说明,重点讲清怎么做、注意什么。

读取本地JSON文件并反序列化为对象

假设你有一个 config.json 文件,内容如下:

{
  "name": "张三",
  "age": 28,
  "isActive": true
}

登录后复制

对应定义一个 C# 类:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public bool IsActive { get; set; }
}

登录后复制

System.Text.Json 读取并解析:

using System.Text.Json;
<p>string json = File.ReadAllText("config.json");
Person person = JsonSerializer.Deserialize<Person>(json);

登录后复制

✅ 小提示:

  • 属性名默认按 PascalCase 匹配 JSON 中的 camelCase 字段(如 Name"name"),无需额外配置
  • 如果 JSON 字段名和类属性不一致,可用 [JsonPropertyName("xxx")] 特性标注
  • 文件路径不存在会抛出 FileNotFoundException,建议加 try-catch 或先判断 File.Exists()

解析JSON字符串(非文件)

比如从 API 接口拿到一段 JSON 字符串:

string jsonString = @"{""id"":123,""title"":""Hello World""}";

登录后复制

同样用 JsonSerializer.Deserialize<t>()</t> 即可:

var obj = JsonSerializer.Deserialize<MyModel>(jsonString);

登录后复制

如果只是临时提取个别字段,不想定义完整类,可以用 JsonDocumentJsonElement

标签: js json 编码 工具 中文乱码 常见问题 c# 内存占用 .net red

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~