我是asp.net mvc 4框架的新手。我希望代码使用jquery到数组列表来解析从视图接收到的json。我的json是这样的:
"{\"ServiceDataModel\":[{\"ServiceId\":\"7\",\"ServiceName\":\"Test Service\",\"ServiceRate\":\"4\",\"NoOfTimes\":\"1\",\"TotalAmount\":\"4\",\"Discount\":\"1\",\"NetAmount\":\"3\"},
{\"ServiceId\":\"7\",\"ServiceName\":\"Test Service\",\"ServiceRate\":\"36\",\"NoOfTimes\":\"1\",\"TotalAmount\":\"36\",\"Discount\":\"2\",\"NetAmount\":\"34\"}]}"
我不确定这是不是正确的json?我在调试期间在控制器中收到了这个。
这是我的代码:
public ActionResult SavePatientServices(string id, string totalnetamount, string remarks, string approvedby)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
string test = Regex.Unescape(id);
ServiceDataModel datum = JsonConvert.DeserializeObject<ServiceDataModel>(id);
dynamic stuff = JsonConvert.DeserializeObject(id);
var log = JsonConvert.DeserializeObject<ServiceDataModel>(id);
var obj = JsonConvert.DeserializeObject<List<ServiceDataModel>>(stuff);
//List<ServiceDataModel> ListAnswers = serializer.Deserialize<List<ServiceDataModel>>(stuff);
return Content("");
}
答案 0 :(得分:0)
您收到了哪些错误消息?
如果您的JSON相当静态,我建议您使用JSON2Csharp之类的在线工具将此文本转换为已填充的对象。
完成后,您可以使用JSON.NET使用以下命令反序列化此文本:
JsonConvert.DeserializeObject<RootObject>(string json);
答案 1 :(得分:0)
不要担心解析|序列化,您可以轻松地将对象列表作为json发送。
像这样发送你的对象它会像json一样自动处理。不要担心序列化。
public JsonResult GetUsersData()
{
var usersList = new List<UserModel>
{
new UserModel
{
UserId = 1,
UserName = "Ram",
Company = "Mindfire Solutions"
},
new UserModel
{
UserId = 1,
UserName = "chand",
Company = "Mindfire Solutions"
},
new UserModel
{
UserId = 1,
UserName = "Abc",
Company = "Abc Solutions"
}
};
return Json(usersList , JsonRequestBehavior.AllowGet);
}
Ajax具有XML和Json的默认解析。不要担心解析。
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url:"",
success: function (data) {
},
error: function (xhr, ajaxOptions, thrownError) {
}
});