Newtonsoft JSON不包含';任意';
本文关键字:任意 包含 JSON Newtonsoft | 更新日期: 2023-09-27 18:23:58
我正在尝试循环Json对象,并使用.Any()
扩展检查我的所有属性是否都设置为true
dynamic fares = JsonConvert.DeserializeObject(content.GetValue<string>("cruiseFares"));
foreach (var f in fares)
{
if (fares.Any(f.fareSold != "False" ))
{
content.SetValue("cruiseSoldOut", soldOut);
}
}
我也尝试过:
dynamic fares = JObject.Parse(content.GetValue<string>("cruiseFares"));
但是我有Error reading JObject from JsonReader. Current JsonReader item is not an object
"Any"似乎是一个LINQ方法,这意味着您要添加对适当命名空间的引用,即"使用System.LINQ"
另一件事是,上面的循环代码中显然有一个错误。
你的意思是这样的吗?
if (fares.Any(f => f.fareSold != "False" ))
{
content.SetValue("cruiseSoldOut", soldOut);
}
或者,如果你不能使用LINQ(这是动态的情况,就像下面L.B评论中所说的那样),请使用foreach并编写正确的测试:
foreach(var f in fares)
{
if (f.fareSold != "False" ))
{
content.SetValue("cruiseSoldOut", soldOut);
}
}
当然,如果这是你的意思。
或者,第三种解决方案,创建一个合适的类型来反序列化。您的代码将更安全,并且可以使用LINQ的Any方法。