c# - 如何检查动态是否为空。

标签 c# .net json dynamic json.net

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

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

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

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

最佳答案

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

var output = JsonConvert.DeserializeObject<dynamic>("{ }");

if (((JObject)output).Count == 0)
{
    // The object is empty
}

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

关于c# - 如何检查动态是否为空。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6867767/

相关文章:

c# - 混合组和用户的 asp.net mvc [Authorize()] 属性

c# - Json.NET 反序列化为带引用的动态对象

c# - 仅在构造函数中设置类泛型值

javascript - 如何从子子对象获取父对象

javascript - 通过对象过滤 MultiCheckbox

android - 尝试使用 youtube api 从 json 中提取视频 ID

javascript - 获取点击事件的目标 URL - 客户端

c# - 为什么 UInt16 数组的加法速度似乎比 int 数组快?

c# - 修剪字符串并将其转换为小写的最快方法

c# - WP7 上的 Spring IoC?