JSON.NET - 识别嵌套数组

use*_*126 2 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 value = jToken.Value<string>("value");             
        }
Run Code Online (Sandbox Code Playgroud)

这适用于提供的输入.但在某些情况下,value属性可能包含一个数组.

        var json = @"[{""property"":""Status"",""value"":[1,2]}]";
Run Code Online (Sandbox Code Playgroud)

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

这可能使用JSON.net吗?

Tim*_* S. 6

dynamic value = jToken["value"];
if (value is JArray)
    // do something
Run Code Online (Sandbox Code Playgroud)

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