2

我有这段代码用于从 json 字符串中获取值。

        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");             
        }

这非常适合提供的输入。但在某些情况下, value 属性可能包含一个数组。

        var json = @"[{""property"":""Status"",""value"":[1,2]}]";

我想以某种方式检查该值是否包含简单值或数组。如果该值是一个数组,则将其绑定到一个集合。

这可能使用 JSON.net 吗?

4

1 回答 1

6
dynamic value = jToken["value"];
if (value is JArray)
    // do something

(您可以在我的示例中使用object而不是,但以后可能更容易使用)dynamicdynamic

于 2013-10-25T20:03:09.620 回答