首页 > 解决方案 > 检查json对象是否存在

问题描述

我想检查使用 Newtonsoft 反序列化的 json 对象是否为空。我正在使用这个感觉有点hacky的代码:

try{
dynamic jsonObject = JsonConvert.DeserializeObject(jsonString);
dynamic content = jsonObject.content.important;

 if (((JObject)content).ToString() != "{}"){ // inspecting if "imporant" has value
  // do stuff
  }
}catch(Exception e){
  // handle error
}

是否有更“造型师”的方法来检查对象是否存在?

标签: c#json.net

解决方案


您可以检查JTokens可用的计数JObject content0如果JObject为空,它将返回。喜欢,

try
{
    dynamic jsonObject = JsonConvert.DeserializeObject(jsonString);
    dynamic content = jsonObject.content.important;

    if (((JObject)content).Count > 0){ // inspecting if "imporant" has value
        // do stuff
      }
}
catch(Exception e)
{
  // handle error
}

推荐阅读