0
我使用的是Asp.Net,儘管我之前已經完成了一些工作,但是我沒有對json做同樣的工作。根級別的數據無效:試圖反序列化json字符串
我得到的錯誤是在根級別的數據是無效的,我之前見過的使用Xml反序列化的數據。
下面是我對響應文件:
HTTP ResponseCode: 200
HTTP Status: OK
HTTP Body:
{
「Status」:」Success」,
「Response」:」0」,
「Price」:」10.00」,
「BuyerId」:999,
「BuyerContractId」:9999,
「Detail」:」https://...」
}
我使用Web客戶端來獲取數據回:
response = wc.UploadString(info.Endpoint, info.Data);
「響應」是一個字符串。我用這個方法來反序列化:
public static T JsonResponse<T>(string response)
where T : class
{
var s = new DataContractJsonSerializer(typeof(T));
using (var r = XmlReader.Create(new StringReader(response)))
{
return (T)s.ReadObject(r);
}
}
我試圖反序列化類是:
[DataContract]
public class ResponseProps
{
[DataMember(Name = "Status")]
public string Status { get; set; }
[DataMember(Name = "Response")]
public string Response { get; set; }
[DataMember(Name = "Price")]
public decimal Price { get; set; }
[DataMember(Name = "BuyerId")]
public string BuyerId { get; set; }
[DataMember(Name = "BuyerContractId")]
public string BuyerContractId { get; set; }
[DataMember(Name = "Detail")]
public string Detail { get; set; }
}
下面是它怎麼叫:
var cr = XmlHelper.JsonResponse<ResponseProps>(response);
任何人有任何線索,我哪裏錯了?
感謝分享是艾米特,但是它確實涉及到另一個包。儘管已經提高了你的答案。 –