我正在使用C#,尝试将JSON解析为XML,但首先我需要验证JSON,然后检查它是否有根元素,这是我的问题。
假设我有两个JSON字符串:
string jsonWithoutRoot = "{'name': 'Fran', 'roles':['Admin','Coder']}";
string jsonWithRoot = "{'person': {'name': 'Fran','roles':['Admin','Coder']}}";
如果字符串有一个像jsonWithRoot这样的根元素,那么我想得到TRUE。在其他情况下,我想得到FALSE。
答案 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;
}