列动态对象的名称

时间:2016-09-01 13:46:32

标签: c# c#-4.0 c#-3.0

如何获取动态列表的标题(列名称)?

这是我的代码

  var Participants = Newtonsoft.Json.JsonConvert.DeserializeObject<List<dynamic>>(obj.ToString());  

我需要获取var Participants

中所有列的名称

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用Newtonsoft.Json.Linq.JProperty,例如,您具有以下json对象:

{ "summary" : { "123": {}, "456": {} } }

您要反序列化为以下列表:

class SomeClass {
  public string ID {get;set;}
}

您的代码应为:

dynamic responseDynamic = Newtonsoft.Json.JsonConvert.DeserializeObject(json);

List<SomeClass> someList = new List<SomeClass>();

foreach (var item in responseDynamic.summary)
{
    string id = ((Newtonsoft.Json.Linq.JProperty)item).Name;

    someList.Add(new SomeClass(){ID = id});
}