如何使用JsonProperty

问题描述:

获取对象的内部字段的值

我有数据,JSON是这样的:如何使用JsonProperty

{ 
    "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 */ 
} 
+0

您需要显示完整的代码。 –

+3

创建一个表示'changed_by'节点的类 – wudzik

+0

您正在通过'data'类/对象访问名称_(洗车)_。您需要使用'changed_by'类/对象访问'changed_by'字段。 –

使用这个你只需要拥有一个代表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; } 
} 
+0

谢谢,你帮了我! –

+0

伟大的,可耻的是,其他人downvoted我想否则:) – DavidG

+0

这代表了阿列克谢需要的数据结构。看起来Alexey已经在使用Json.Net,很快就没有看到编辑。向大卫投了你!也得到了一个投票,不知道为什么! –

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

结账Json.Net