我在使用Json.NET將JSON字符串轉換爲C#對象時遇到了問題。Json.NET反序列化自定義對象返回null
我用AJAX調用ashx的
$.ajax({
url: "/Handler/Handler.ashx?WorkType=SaveData",
type: "POST",
data: JSON.stringify({ 'DataInfo': Info }),
//data: "{'DataInfo':" + JSON.stringify(Info) + "}",
dataType: "json",
success: function (data, textStatus, jqXHR) {
if (data.Result) {
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
}
});
我的JSON字符串就像
{
"DataInfo": [
{
"EditType": "Create",
"CustCode": "SSG",
"KeyNoStr": "rgrg",
"Requester": "rgrg",
"VerificationCode": "VAVBZ",
"Databody": "TESt123",
"HasMap": false,
"IsColse": false,
"HasOrder": false,
"IsUrgent": true
}
]
}
和我.ashx的服務器端的代碼是這樣..
public class DataInfo
{
public string EditType { get; set; }
public string CustCode { get; set; }
public string KeyNoStr { get; set; }
public string Requester { get; set; }
public string VerificationCode { get; set; }
public string Databody { get; set; }
public string HasMap { get; set; }
public string IsColse { get; set; }
public string HasOrder { get; set; }
public string IsUrgent { get; set; }
}
主功能在.ashx中
public void ProcessRequest(HttpContext context)
{
Request = context.Request;
Response = context.Response;
string lv_strResult = string.Empty;
DataInfo lv_oInfo = JsonConvert.DeserializeObject<DataInfo >((new StreamReader(Request.InputStream)).ReadToEnd());
}
我做錯了什麼?
試着首先獲取字符串響應,看看它是否爲空。 –