我有一个简单的
JSON文件,我需要获取令牌的值,我尝试使用SelectToken,但问题是元素的名称是动态的.这是我的JSON文件
{ "name": "testdata","items": { "myItemName": { "located": true } } }
我需要获取“locate”(上图)的值,如果你看到元素名称“myItemName”,这是动态的而不是固定的.所以我尝试使用SelectToken的点符号.
我想出了类似的东西,但它没有用 – 问题是[0]
bool located = (bool)jsonObject.SelectToken("items.[0].located");
在Items中,可以有多个动态元素,例如,这是有效的.
{ "name": "testdata","items": { "myItemName": { "located": true },"myOtherItemName": { "located": true } } }
所以看上面,你可以看到我有“myItemName”和“myOtherItemName”,我希望使用someach的foreach获取每个中“locate”的值
这是可能吗 ?使用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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。