我尝试循环浏览Json对象,并使用true
扩展名检查我的所有属性是否都设置为.Any()
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
答案 0 :(得分:1)
&#34;任何&#34;似乎是一个LINQ方法,它暗示你要添加对相应命名空间的引用,即&#34;使用System.Linq&#34;
另一件事,上面的循环代码中显然有错误。
你的意思是这样吗?
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的任何方法。