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

时间:2015-07-14 18:39:20

标签: wpf json.net

我在我的项目中使用Newtonsoft.Json。我有JObject这样的话:

{
    "4781":"Name 1",
    "1577":"Name 2",
    "9973":"Name 3"
}

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

1 个答案:

答案 0 :(得分:7)

Json.NET不提供对<form:select path="country" items="${countryList}" /> 属性的整数索引访问。

如果您JObject JObject.Parse()[0],则会收到ArgumentException消息

  

使用无效键值访问JObject值:0。期望对象属性名称。&#34;

我怀疑Json.NET是以这种方式实现的,因为JSON standard状态&#34; 对象是一组无序名称/值对。 &#34;

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

using System;
using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;


var obj = JObject.Parse(json);
var firstName = obj.Properties().Select(p => p.Name).FirstOrDefault();