如何检查dynamic是否为空



我使用Newtonsoft的Json。. NET反序列化JSON字符串:

var output = JsonConvert.DeserializeObject<dynamic>("{ 'foo': 'bar' }");

如何检查output为空?测试用例:

var output = JsonConvert.DeserializeObject<dynamic>("{ }");
Assert.IsNull(output); // fails

从DeserializeObject返回的对象将是一个jobobject,它具有Count属性。这个属性告诉你对象上有多少个属性。

var output = JsonConvert.DeserializeObject<dynamic>("{ }");
if (((JObject)output).Count == 0)
{
    // The object is empty
}

这不会告诉你动态对象是否为空,但它会告诉你反序列化的JSON对象是否为空。

您还可以使用以下代码进行检查:

var output = JsonConvert.DeserializeObject<dynamic>("{ }");
if (output as JObject == null)
{
}

您可以进行字符串转换并检查它是否等于"{}"

var output = JsonConvert.DeserializeObject<dynamic>("{ }");
if (output.ToString() =="{ }")
{
    // The object is empty
}

相关内容

  • 没有找到相关文章

最新更新