C# JSON.NET-识别嵌套数组
我有这段代码用于从json字符串中获取值C# JSON.NET-识别嵌套数组,c#,json.net,C#,Json.net,我有这段代码用于从json字符串中获取值 var json = @"[{""property"":""Status"",""value"":""val""}]"; var jArray = JArray.Parse(json); foreach (JToken jToken in jArray) { var property = jToken.Value<string>("property")
var json = @"[{""property"":""Status"",""value"":""val""}]";
var jArray = JArray.Parse(json);
foreach (JToken jToken in jArray)
{
var property = jToken.Value<string>("property");
var value = jToken.Value<string>("value");
}
我想以某种方式检查该值是否包含简单值或数组。如果值是数组,则将其绑定到集合
使用JSON.net是否可以做到这一点
dynamic value = jToken["value"];
if (value is JArray)
// do something
(在我的示例中,您可以使用
object
而不是dynamic
,但是dynamic
以后可能更容易使用)这是一个不同的策略,但我在这里使用了一个代码变体:。如果您喜欢,我将发布我的代码版本(它修复了一些bug,我相信,其中包括涉及包含数组或包含对象的bug。不记得是哪个)。仅供参考,您也可以使用If(value.Type==JTokenType.Array)
。
dynamic value = jToken["value"];
if (value is JArray)
// do something