sendData
というJavascript関数があります。この機能を使用することで、JSJson DeserializeObjectエラー戻り値
var sendData = function (data) {
alert("The following data are sending to the server");
var dataToSend = JSON.stringify(data);
alert(dataToSend);
$.ajax({
type: "POST",
url: "Submit",
dataType: "json",
data: dataToSend,
contentType: "application/json; charset=utf-8",
success: function (response, textStatus, jqXHR) {
alert("success");
},
error: function (jqXHR, textStatus, errorThrown) {
alert("fail");
}
});
};
、私はその後、私はhttp://jsonlint.com/を使用して、それを確認しdataToSend
[{"Seminar_Code":"CMP04","Speaker":"1","Tag":"1","DateAndTime":""}, {"Seminar_Code":"CMP04","Speaker":"2","Tag":"2","DateAndTime":""},{"Seminar_Code":"CMP04","Speaker":"3","Tag":"3","DateAndTime":""}]
の値を見ることができます。それは有効です。
次に、コントローラレイヤで以下のコードを使用します。
[AcceptVerbs(HttpVerbs.Post)]
//[JsonFilter(Parameter = "seminar_detail", JsonDataType = typeof(Seminar_Detail))]
public ActionResult Submit(JsonResult Jresult)
{
//var ttt = JsonConvert.DeserializeObject(Request["jsonString"], typeof(List<Seminar_Detail>));
//var result = (new JsonSerializer()).Deserialize<List<Seminar_Detail>>(seminar_detail);
//var result = JsonConvert.DeserializeObject<List<Seminar_Detail>>(seminar_detail.ToString());
var result = JsonConvert.DeserializeObject<List<Seminar_Detail>>(Jresult.ToString());
return View();
}
次に、このエラーが発生します。
JsonReaderException was unhandled by user code
Unexpected character encountered while parsing value: S. Line 0, position 0.
Immediate window from vs 2010 IDE --- > Jresult.Data
を使用すると、nullが返されます。即時ウィンドウ
Jresult.ToString()
"System.Web.Mvc.JsonResult"
Jresult.Data.ToString()
'Jresult.Data' is null
Jresult.Data
null
の
結果、私はNewtonsoft.Json and Asp.net MVC 4
を使用しています。 このエラーを解決する方法を教えてください。
ありがとうございましたあなたの提案は本当に優れています、ダーリンディミトロフに感謝します。 –
提案したようにすることで、 'Newtonsoft.Json' APIを使う必要はありません。 –
私は正しいですか? @ダリン –