JSON(JavaScript Object Notation)是一种轻量级的数据格式,在Web开发中使用非常广泛。C#语言提供了很多解析JSON字符串的方法,本文将介绍其中的两种。
1. 使用Newtonsoft.Json库
using Newtonsoft.Json; // 定义JSON字符串 string jsonStr = "{\"name\":\"Tom\",\"age\":18}"; // 将JSON字符串转换为JObject对象 JObject jsonObj = JsonConvert.DeserializeObject<JObject>(jsonStr); // 获取JObject中的值 string name = jsonObj["name"].ToString(); int age = int.Parse(jsonObj["age"].ToString());
在上面的代码中,我们使用JsonConvert类中的方法将JSON字符串“{“name”:”Tom”,”age”:18}”转换为JObject对象,然后通过索引器访问其中的属性值。
2. 使用System.Text.Json库
从.NET Core 3.0版本开始,C#语言自带了System.Text.Json库,用于解析和序列化JSON字符串。
using System.Text.Json; // 定义JSON字符串 string jsonStr = "{\"name\":\"Tom\",\"age\":18}"; // 将JSON字符串转换为JsonElement对象 JsonElement jsonEle = JsonSerializer.Deserialize<JsonElement>(jsonStr); // 获取JsonElement中的值 string name = jsonEle.GetProperty("name").GetString(); int age = jsonEle.GetProperty("age").GetInt32();
在以上代码中,我们使用了JsonSerializer类的Deserialize()方法将JSON字符串“{“name”:”Tom”,”age”:18}”转换为JsonElement对象,然后访问其中的属性值。
两种方法虽然用法略有不同,但都可以很方便地解析JSON字符串中的内容。