gpt4 book ai didi

wcf - 元素 ':item' 包含映射到名称 'http://...:Location' 的类型的数据。反序列化器不知道映射到 thi 的任何类型

转载 作者:行者123 更新时间:2023-12-04 20:00:46 24 4
gpt4 key购买 nike

我正在编写代码来使用 Bing Geocode 服务(Bing map ),并且我能够通过 wcf 成功提取 JSON 数据,不幸的是我似乎无法映射返回的数据。

我根据需要创建了所有适当的 DataContracts 并用所需的成员填充它们,但是当我开始进入子项时,我收到以下错误:

元素“:item”包含映射到名称“http://schemas.microsoft.com/search/local/ws/rest/v1:Location”的类型的数据。反序列化器不知道映射到此名称的任何类型。考虑使用 DataContractResolver 或将与“Location”对应的类型添加到已知类型列表中 - 例如,通过使用 KnownTypeAttribute 属性或将其添加到传递给 DataContractSerializer 的已知类型列表中。

所以我注释掉了“子”对象,并且当它尝试读取 JSON 对象的“位置”部分时,基本上能够辨别出它正在爆炸

在我下面的代码中,它涉及到这里的部分:

               "__type":"Location:http:\/\/schemas.microsoft.com\/search\/local\/ws\/rest\/v1",

对于它的值(value),网址是坏的,但我不在乎。我不想使用那种类型(它显然映射回微软网站上的模式)。有没有办法告诉 WCF 忽略该链接?它不像 可以。

必应返回的内容

{
"authenticationResultCode":"ValidCredentials",
"brandLogoUri":"http:\/\/dev.virtualearth.net\/Branding\/logo_powered_by.png",
"copyright":"Copyright © 2010 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
"resourceSets":[
{
"estimatedTotal":1,
"resources":[
{
"__type":"Location:http:\/\/schemas.microsoft.com\/search\/local\/ws\/rest\/v1",
"bbox":[
47.635884282429323,
-122.13737419709076,
47.643609717570676,
-122.12208780290925
],
"name":"1 Microsoft Way, Redmond, WA 98052-8300",
"point":{
"type":"Point",
"coordinates":[
47.639747,
-122.129731
]
},
"address":{
"addressLine":"1 Microsoft Way",
"adminDistrict":"WA",
"adminDistrict2":"King County",
"countryRegion":"United States",
"formattedAddress":"1 Microsoft Way, Redmond, WA 98052-8300",
"locality":"Redmond",
"postalCode":"98052-8300"
},
"confidence":"High",
"entityType":"Address"
}
]
}
],
"statusCode":200,
"statusDescription":"OK",
"traceId":"43c6a4dc130749bbb14eb72bf12c4198 "
}

最佳答案

找到了。这是因为我必须在我的数据契约(Contract)中适应 ref'd __type(它需要知道要使用什么类型。解决方案是这样的:

[DataContract(Namespace = "http://schemas.microsoft.com/search/local/ws/rest/v1", Name="Location")]

顺便说一句,我在这里找到了答案: Problem with deserializing JSON on datamember "__type"

关于wcf - 元素 ':item' 包含映射到名称 'http://...:Location' 的类型的数据。反序列化器不知道映射到 thi 的任何类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com