我有一个返回的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现在是
{[]}
答案 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": []
}