C# JSON处理库Newtonsoft 作者:马育民 • 2024-08-27 08:13 • 阅读:10009 # 介绍 由于C#自带的JSON库不好用,所以使用 Newtonsoft.Json Newtonsoft.Json是一款.net下的Json序列化/反序列化库,省去了手动拼Json的麻烦,可以通过官网或者NuGet下载 # 一层一层解析 ``` { "name": "steam", "games": [ { "name": "The Witcher 3", "price": "63" }, { "name": "GTA5", "price": "93" } ], "master": "G pan" } ``` ## 转成 JObject ``` string jsonStr = "{\"name\": \"steam\",\"games\":[{\"name\":\"The Witcher 3\",\"price\":\"63\"},{\"name\":\"GTA5\",\"price\":\"93\"}],\"master\":\"G pan\"}"; ``` ``` JObject json = JObject.Parse(jsonStr); ``` #### 遍历 ``` foreach(var item in json) { Console.WriteLine(item.Key + "," + item.Value); } ``` ## JToken JToken: 是 Newtonsoft.Json 库中所有JSON数据类型的基类,包括JObject、JArray、JValue等。它提供了通用的方法来访问、遍历和操作JSON数据。当你不确定JSON数据的具体类型时,可以使用JToken进行处理 #### 使用 取出 `name`,返回的 `JToken` 类型 ``` JToken nameJT = json["name"] // 转成字符串 string name = nameJT.ToString() ``` ## JArray 表示一个JSON数组,即有序的值列表。数组中的元素可以是任何有效的JSON数据类型。JArray提供了添加、删除、查询和修改数组元素的方法 #### 解析字符串并返回 ``` JArray jArray = JArray.Parse("[1,2,3,4]"); ``` #### 从 JObject 取出数组 取出 `games`,并返回数组: ``` JArray arr = json["games"].ToArray() ``` #### 根据索引取出元素 ``` JToken item = arr[0] ``` 参考: https://blog.csdn.net/qq_41731938/article/details/84751446 https://blog.csdn.net/m0_73960651/article/details/137787708 原文出处:https://malaoshi.top/show_1IX8JdefPzxW.html