C# JSON处理库Newtonsoft

介绍

由于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


原文出处:/show_1IX8JdefPzxW.html