检查JSON根元素

时间:2016-06-03 13:45:00

标签: c# json

我正在使用C#,尝试将JSON解析为XML,但首先我需要验证JSON,然后检查它是否有根元素,这是我的问题。

假设我有两个JSON字符串:

string jsonWithoutRoot = "{'name': 'Fran', 'roles':['Admin','Coder']}";
string jsonWithRoot = "{'person': {'name': 'Fran','roles':['Admin','Coder']}}";

如果字符串有一个像jsonWithRoot这样的根元素,那么我想得到TRUE。在其他情况下,我想得到FALSE。

2 个答案:

答案 0 :(得分:4)

根据定义,JSON字符串有一个根对象。您只是试图计算此根对象是否只有一个元素。

通过将JSON解析为JObject并获取元素计数,可以轻松完成此任务:

var jObject = JObject.Parse(jsonString);
bool hasOneElement = jObject.Count == 1;

答案 1 :(得分:1)

我最近一直在使用这种方法来检查你在寻找什么。它可能会有所帮助。

public static bool HasOneProperty(string json)
{
   JObject jsonObj = JObject.Parse(json);

   if (jsonObj.Count > 1)
   {
      return false;
   }

   return true;
}