gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:51:03 24 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");

在 Items 中,可以有超过 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/

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