相关疑难解决方法(0)

在datamember"__type"上反序列化JSON的问题

简而言之,我正在尝试从Bing Maps Geocoding REST API反序列化JSON响应,

我创建了我的响应类,现在当我试图实际反序列化响应时,我收到以下错误:

不期望输入数据合同名称为"{1}:{2}"的"{0}".考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中.

它试图反序列化这一行JSON,并失败:

"__type": "Location:http:\/\/schemas.microsoft.com\/search\/local\/ws\/rest\/v1",
Run Code Online (Sandbox Code Playgroud)

我的响应类看起来像这样

        [DataContract]
        public class GeoResponse
        {
            [DataMember(Name = "statusDescription")]
            public string StatusDescription { get; set; }
            [DataMember(Name = "statusCode")]
            public string StatusCode { get; set; }
            [DataMember(Name = "resourceSets")]
            public ResourceSet[] resourceSets { get; set; }

            [DataContract]
            public class ResourceSet
            {


                [DataMember(Name = "__type", IsRequired=false)]
                public string type { get; set; }

                [DataMember(Name = "estimatedTotal")]
                public string EstimatedTotal { get; set; }

                [DataMember(Name = "resources")]
                public List<Resources> resources …
Run Code Online (Sandbox Code Playgroud)

c# serialization json visual-studio

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

json ×1

serialization ×1

visual-studio ×1