J'ai une fonction Javascript appelée sendData
.Json DeserializeObject Erreur de retour
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");
}
});
};
En utilisant cette fonction js, je peux voir la valeur de 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":""}]
Ensuite, je l'ai vérifié à l'aide http://jsonlint.com/. C'est valide Ensuite, j'utilise le code ci-dessous à Controller Layer.
[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();
}
Ensuite, j'obtiens cette erreur.
JsonReaderException was unhandled by user code
Unexpected character encountered while parsing value: S. Line 0, position 0.
En utilisant Immediate window from vs 2010 IDE --- > Jresult.Data
, j'obtiens une valeur nulle.
Résultat de la fenêtre immédiate
Jresult.ToString()
"System.Web.Mvc.JsonResult"
Jresult.Data.ToString()
'Jresult.Data' is null
Jresult.Data
null
J'utilise Newtonsoft.Json and Asp.net MVC 4
. S'il vous plaît laissez-moi savoir comment résoudre cette erreur.
Votre suggestion est vraiment excellente, Merci beaucoup @Darin Dimitrov. –
En faisant ce que vous avez suggéré, je n'ai pas besoin d'utiliser l'API 'Newtonsoft.Json'. –
Ai-je raison? @Darin –