当反序列化时,我得到了这个异常,我检查了feed并且“play”的数据流没有重复两次,尽管它在http响应中显示两次。
[System.Runtime.Serialization.SerializationException] = {“无法反序列化数据协定类型'PlayerDetailsSeason',因为在输入中多次找到数据成员'播放'。”}
我不确定为什么它会在http响应消息中出现两次。
这是代码
var httpRequest = new HttpRequestMessage(HttpMethod.Get, requestUrl + ConstructRequestContent(requestParams));
var httpClient = new HttpClient();
HttpResponseMessage responseMessage = await httpClient.SendAsync(httpRequest);
if (responseMessage != null && responseMessage.IsSuccessStatusCode) {
Stream stream = await responseMessage.Content.ReadAsStreamAsync();
DataContractJsonSerializer deserializer = new DataContractJsonSerializer(typeof(T));
string contentresponsestr = await responseMessage.Content.ReadAsStringAsync();
//在调查contentresponsestr时,我可以看到memeber“play”出现了两次。为什么会出现两次?
result = (T)deserializer.ReadObject(stream);
}
return result;
} catch (Exception ex)
{
return result;
}
答案 0 :(得分:0)
确定发现了饲料问题。奇怪的是,chrome和许多其他json验证器都没有检查重复的数据成员。