gpt4 book ai didi

.net - Json.Net:在不知道元素名称的情况下使用 SelectToken 获取值?

转载 作者:行者123 更新时间:2023-12-02 04:52:09 25 4
gpt4 key购买 nike

我有一个简单的 JSON 文件,我需要它来获取 token 的值,我尝试过使用 SelectToken,但问题是元素的名称是动态的。这是我的 JSON 文件

{
"name": "testdata",
"items": {
"myItemName": {
"located": true
}
}
}

我需要获取“located”(上图)的值,如果您看到元素名称“myItemName”,这是动态的而不是固定的。所以我确实尝试使用 SelectToken 的点符号。

我想出了类似的方法,但没有用 - 问题是 [0]

        bool located = (bool)jsonObject.SelectToken("items.[0].located");

在项目中,可以有超过 1 个动态元素,例如,这是有效的。

  {
"name": "testdata",
"items": {
"myItemName": {
"located": true
},
"myOtherItemName": {
"located": true
}
}
}

所以看上面,你可以看到我有“myItemName”和“myOtherItemName”,我想使用某种 foreach 获取每个“located”的值

这可能吗?使用 SelectToken?

谢谢

最佳答案

试试这个:

string json = @"
{
""name"": ""testdata"",
""items"": {
""myItemName"": {
""located"": true
},
""myOtherItemName"": {
""located"": true
}
}
}";

JObject jsonObject = JObject.Parse(json);

foreach (JProperty prop in jsonObject.SelectToken("items"))
{
string name = prop.Name;
bool value = (bool)prop.Value.SelectToken("located");
Console.WriteLine(name + " = " + value);
}

输出:

myItemName = True
myOtherItemName = True

关于.net - Json.Net:在不知道元素名称的情况下使用 SelectToken 获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com