将API JSON结果转换为类型失败

时间:2019-05-13 21:37:49

标签: asp.net json asp.net-mvc rest asp.net-core

我们有一些返回的JSON,如下所示:

[
   {
       "id" : "120421421",
       "activityId" : "2049192",
       ...
   },
   {
       "id" : "24442141",
       "activityId" : "2141245",
       ...
   },
]

我看到之前曾有人问过这个问题,但不确定答案是否可以解释这里的确切情况。 -无法反序列化当前JSON数组(例如[1,2,3])

问题似乎是数据是结果数组,而不仅仅是类的类型。

我们使用基于通用API的调用来调用我们的API。

   result.Data = response.Content.ReadAsAsync<T>().Result;
   result.Json = response.Content.ReadAsStringAsync().Result;

将结果解析为传入的类型失败了。我们设置了两个类来处理结果。

        public abstract class AvailabilityResult
        {
            public List<AvailabilityEntry> ResultList;
        }

        public abstract class AvailabilityEntry
        {
            public string id { get; set; }
            public string activityId { get; set; }
        }

1 个答案:

答案 0 :(得分:0)

        [JsonArrayAttribute]
        public class AvailabilityResult : List<AvailabilityEntry>
        {
            public List<AvailabilityEntry> ResultList;
        }

        public abstract class AvailabilityEntry
        {
            public string id { get; set; }
            public string activityId { get; set; }
        }