如何判断json结果是否有一个名为data的数组对象,并获取其所有父对象名称

368yc8dk  于 2024-01-09  发布在  其他
关注(0)|答案(2)|浏览(181)

我有Web API动态返回如下:

{
    "result": true,
    "payload": {
        "data": [
            {
                "class": "Platinum",
                "name": "William",
                "title": "Mr."
            },
            {
                "class": "Silver",
                "name": "Susan",
                "title": "Ms."
            },
            {
                "class": "Platinum",
                "name": "Jack",
                "title": "Mr."
            }
        ]
    }
}

字符串
我需要确定返回的json是否有一个名为“data”的数组对象和get它的父对象(在上面的例子中,父对象是“payload”,所以我可以使用eg来检索数组值。

(JArray)jo[payload][data]


我需要建议,提前谢谢你

5fjcxozz

5fjcxozz1#

您可以使用像Newtonsoft.Json这样的库来解析和检查。

JObject jObject = JObject.Parse(yourJsonDate);
if (jObject["payload"] is JObject payload && payload["data"] is JArray data)
{
    // Access the array values under "data"
    foreach (var item in data)
    {
        Console.WriteLine(item);
    }
}
else
{
    Console.WriteLine("JSON structure doesn't contain expected elements.");
}

字符串

5vf7fwbs

5vf7fwbs2#

你可以用这个

var dataArr = JObject.Parse(json).SelectToken("payload.data");

    if (dataArr != null && dataArr.Type == JTokenType.Array)
    {
        foreach (var item in dataArr) {}
        //or
        var data = dataArr.Select(o => new  { Class=o["class"], ...});
    }

字符串

相关问题