如何在C#中获取JSON对象的属性名称

时间:2017-05-10 05:07:11

标签: c# json

这是一个示例JSON数据:

{"data_header":"[
    {   
        "id":"1",
        "name":"aa"
    },
    {   
        "id":"2",
        "name":"bb"
    }
]"}

在C#函数中,我将此数据转换为我的C#对象:

JObject jsonObj = JObject.Parse(jsonData);
JArray arr = (JArray)jsonObj["data_header"];
MyModel model = arr.ToObject<MyModel>();

工作正常。现在,如何从"data_header"获取此jsonObj值?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

Shanid,你提到你试过 @JayakrishnanGounder 解决方案而且你得到一个错误,你的模型是否有可能无法处理JSON数据结构。

public class NameModel
{
   [JsonProperty("id")]
   public int id {get;set;}

   [JsonProperty("name")]
   public string name {get;set;}
}

public class ContainerModel
{
   [JsonProperty("data_header")]
   public List<NameModel> data_headeer
}

所以现在你应该能够使用JSON.net @JayakrishnanGounder 反序列化方法了。

var model = JsonConvert.DeserializeObject<ContainerModel>(json);