如何从JObject获取第一个密钥?

BAr*_*ell 6 wpf json.net

Newtonsoft.Json在我的项目中使用.我JObject喜欢这个:

{
    "4781":"Name 1",
    "1577":"Name 2",
    "9973":"Name 3"
}
Run Code Online (Sandbox Code Playgroud)

我成功解析了它JObject.Parse().我需要从这个JObject("4781")获得第一个密钥.我怎么得到它?

dbc*_*dbc 11

Json.NET不提供对a的属性的整数索引访问JObject.

如果你这样做,JObject.Parse(jsonString)[0]你得到一个ArgumentException消息

使用无效键值访问JObject值:0.期望对象属性名称."

我怀疑Json.NET是以这种方式实现的,因为JSON标准声明" 对象是一组无序的名称/值对".

所以,如果你想要第一个属性名,你应该使用LINQ:

IList<JToken> obj = JObject.Parse(jsonString);
var firstName = ((JProperty)obj[0]).Name;
Run Code Online (Sandbox Code Playgroud)