简体   繁体   English

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

[英]C# json object with empty json array

I have a returned json object that contains an empty json array 我有一个返回的json对象,其中包含一个空的json数组

{[]}

EDIT: 编辑:

How do I check this in an if statement? 如何在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);

Here, responseDatas is now 在这里,responseDatas现在是

{[]}

First, that is invalid JSON. 首先,这是无效的JSON。 The array should have a name, like this: 数组应有一个名称,如下所示:

{ list: [] }

Second, you can deserialize the JSON using JSON.NET and then test the result: 其次,您可以使用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)
{ }

The json is invalid (in the original question and in the accepted answer). json无效(在原始问题和接受的答案中)。 You should include double quotes ... 您应该使用双引号...

{
    "list": []
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM