DataContractJsonSerializer重复成员

时间:2013-06-21 20:42:45

标签: json deserialization

当反序列化时,我得到了这个异常,我检查了feed并且“play”的数据流没有重复两次,尽管它在http响应中显示两次。

[System.Runtime.Serialization.SerializationException] = {“无法反序列化数据协定类型'PlayerDetailsS​​eason',因为在输入中多次找到数据成员'播放'。”}

我不确定为什么它会在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;
        }

1 个答案:

答案 0 :(得分:0)

确定发现了饲料问题。奇怪的是,chrome和许多其他json验证器都没有检查重复的数据成员。