使用Json反序列化复杂对象

时间:2014-05-15 09:20:44

标签: json c#-4.0 json.net json-deserialization

我如何使用JSON.NET反序列化它。我一直得到“无法对空引用执行绑定”异常。以下是代码和JSON输出:

            var json = client.DownloadString("https://myapp.tpondemand.com/api/v1/UserStories?take=999&include=[Tasks[Id,Name,TimeSpent]]&format=json");

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

        string nemo = output.items[1].Id[0];

        Console.ReadLine();


{

“项目”:[     {       “Id”:395,       “任务”: {         “项目”:[]       }     },     {       “Id”:394,       “任务”: {         “项目”:[]       }     },     {       “Id”:393,       “任务”: {         “项目”:[]       }     },     {       “Id”:336,       “任务”: {         “项目”:[]       }     },     } ]

1 个答案:

答案 0 :(得分:0)

如果你知道Json格式只是创建数据交换并反序列化它们。

例如

    [DataContract]
    public class ItemJson
    {
        [DataMember]
        public string Id { get; set; }

        [DataMember]
        public List<TaskJson> Tasks { get; set; }
    }

    [DataContract]
    public class TaskJson
    {
        [DataMember]
        public List<ItemJson> Items{ get; set; }
    }