如何不通过遍历获取JObject的首个根节点键名
如何直接获取JObject首个根属性的键名
你可以通过以下两种无需手动编写foreach遍历的方案实现需求:
- 方案1:直接通过JObject的枚举特性获取,代码最简
var jsonObject = JObject.Parse(jsonString); // 直接获取首个根键,若JObject无任何属性会抛出异常 string firstRootKey = jsonObject.First().Key;
- 方案2:空安全写法,避免JObject为空时报错
var jsonObject = JObject.Parse(jsonString); // 若JObject无任何属性,返回null不会触发异常 string firstRootKey = jsonObject.Properties().FirstOrDefault()?.Name;
注:JSON对象本身支持存在多个同级根属性,和XML的单根节点设计逻辑不同,因此JObject没有提供类似XDocument的
Root.Name专属属性。上述实现均调用LINQ封装的逻辑,不需要手动编写遍历代码。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

