JSON.NET - 识别嵌套数组

本文关键字:嵌套 数组 识别 NET JSON | 更新日期: 2023-09-27 18:36:52

我有这段代码用于从 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 可以吗?

JSON.NET - 识别嵌套数组

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

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