Newtonsoft JSON不包含' Any'的定义。

时间:2014-09-21 13:06:29

标签: c# json umbraco

我尝试循环浏览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

1 个答案:

答案 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的任何方法。

相关问题