我有这个json对象。
{
"Apparel":[
"Athlete",
73
],
"Freeze":[
"Coin",
19,
"Fur",
37,
"Grade",
72
],
"Lobster":[
"Node",
18
]
}
我在字符串中读取它并将其转换为JObject,如下所示:
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
JObject myobj = JObject.Parse(mystr);
我应该如何获取所有键{“Apparel”,“Freeze”,“Lobster”}?
如果我这样做:
List<JToken> mylist = myobj.ToList<JToken>();
int l = mylist.Count;
for (int i = 0; i < l; i++)
{
Debug.WriteLine(mylist[i]);
}
打印:
"Apparel": [
"Athlete",
73
]"Freeze": [
"Coin",
19,
"Fur",
37,
"Grade",
72
]
"Lobster": [
"Node",
18
]
值{"Apparel", "Freeze", "Lobster"}
不是常数,可能会发生变化。我知道我可以做一些正则表达式补丁来获得我想要的字符串,但我不想走那条路,除非它是最后的手段。请帮助。
答案 0 :(得分:1)
您可以使用jobject属性方法
IList<string> keys = parent.Properties().Select(p => p.Name).ToList();
取自这里