如何从Json.NET获取密钥列表
本文关键字:获取 密钥 列表 NET Json | 更新日期: 2023-09-27 18:00:45
我使用的是C#和Json.NET。如果我有一个JObject,我想要对象中键的列表,类似于object.Keys()
返回对象中键。这似乎是显而易见的,但我很难找到一种方法来做到这一点。
编辑:我正在遍历对象,我想在遍历时吐出对象中的所有关键点。我意识到这个例子会导致多次看到同一个密钥,这可以满足我的需求。
public void SomeMethod(JObject parent) {
foreach (JObject child in parent.Children()) {
if (child.HasValues) {
//
// Code to get the keys here
//
SomeMethod(child);
}
}
}
IList<string> keys = parent.Properties().Select(p => p.Name).ToList();
文档:JObject.Properties
从转换JSON.NET JObject';s属性/令牌到字典密钥
您可以简单地将JObject
转换为Dictionary对象,并从Dictionary object访问方法Keys()
。
像这样:
using Newtonsoft.Json.Linq;
//jsonString is your JSON-formatted string
JObject jsonObj = JObject.Parse(jsonString);
Dictionary<string, string> dictObj = jsonObj.ToObject<Dictionary<string, string>>();
现在,您可以通过dictObj.Keys()
方法访问这些密钥。您还可以通过执行dictObj.ContainsKey(keyName)
来查看密钥是否存在。
显然,您可以随心所欲地格式化Dictionary(可以是Dictionary<string, object>
等)