如何使用JsonProperty获取对象的内部字段值

时间:2015-10-16 12:26:43

标签: c# json

我在json中有这样的数据:

{
  "data": {
    "name" : "Car wash"
    "changed_by": {
      "id": 1,
      "name": "Pascal",      
      "type": "user"
    }
  }
}

"Car wash"我可以这样:

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

如何获取某些changed_by对象字段的值?

我需要在反序列化中使用它

private void GetChanges(RawData data)
{
    var changes = JsonConvert.DeserializeObject<Response<IEnumerable<Model.Json.Changes>>>(data.ChangesData);
    /* some code */
}

2 个答案:

答案 0 :(得分:3)

您只需要一个代表changed_by对象的类。例如:

public class Data
{
    public string name { get; set; }
    public ChangedBy changed_by { get; set; }
}

public class ChangedBy
{
    public int id { get; set; }
    public string name { get; set; }
    public string type { get; set; }
}

答案 1 :(得分:1)

创建一个表示数据结构的类层次结构,然后使用Json.Net将其反序列化为该类的对象。

查看Json.Net