带有空json数组的C#json对象

时间:2016-06-28 08:17:02

标签: c# json

我有一个返回的json对象,其中包含一个空的json数组

{[]}

编辑:

如何在if语句中检查?

        string arrayData = string.Empty;

        if (response.Contains("\"data\":"))
        {
            JToken root = JObject.Parse(response);
            JToken data = root["data"];
            if (data != null)
            {
                arrayData = data.ToString();
            }
        }
        else
        {
            arrayData = response;
        }

        var responseDatas = JsonConvert.DeserializeObject<dynamic>(arrayData);

此处,responseDatas现在是

{[]}

2 个答案:

答案 0 :(得分:3)

首先,这是无效的JSON。数组应该有一个名称,如下所示:

{ list: [] }

其次,您可以使用JSON.NET反序列化JSON,然后测试结果:

public class ClassWithList
{
    public List<object> list { get; set; }
}

var o = JsonConvert.DeserializeObject<ClassWithList>(json);

if (o.list != null && o.list.Count > 0)
{ }

答案 1 :(得分:0)

json无效(在原始问题和接受的答案中)。您应该使用双引号...

{
    "list": []
}