如何反序列化WCF数据服务(OData)返回的JSON

时间:2011-06-28 17:52:34

标签: json odata deserialization wcf-data-services datacontractjsonserializer

外部OData服务在POST操作期间(对于服务操作)返回以下内容:

{
"d" : {
"__metadata": {
"uri": "http://dd-1620/ServiceData.svc/Customers('1001')", "type": "DataModel.Customer"
}, "MasterCustomerId": "1001", "SubCustomerId": "0", "FirstName": "Jag", "LastName": "Chat"
}
}   

我写了以下内容来反序列化上面的内容:

HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream respStream = resp.GetResponseStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(ReturnType));
ReturnType oRespCus = (ReturnType)ser.ReadObject(respStream);

现在,oRespCus确实已经实例化了。但是,所有字段都设置为null。

任何人都可以帮我这个。

感谢

1 个答案:

答案 0 :(得分:1)

对于那些不知道的人,我想分享我从这里收到的答案

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/55b6f018-2944-4160-8393-62a14376c361

谢谢大家。