我正试图反序列化我的jsonresult,但是我收到以下错误消息:
"无法将System.Web.Mvc.Result转换为字符串"
这是我的jsonresult:
[{"description":"BANANA","quantity":"12","productPrice":"40000","discount":"","isTaxable":true,"finalPrice":"9999","lineItemTotal":"999","orderId":8},{"description":"APPLES","quantity":"20","productPrice":"860000","discount":"","isTaxable":false,"finalPrice":"12000","lineItemTotal":"10000","orderId":8}]
这是我的控制器方法:
[System.Web.Mvc.HttpPost]
public JsonResult CreateLineItems(JsonResult data)
{
ResultDto dto = JsonConvert.DeserializeObject<ResultDto>(data);
//for (int i = 0; i < data.Data; i++)
//{
//
//}
return data;
}
这是我的ResultDto类:
public class ResultDto
{
public string description { get; set; }
public string quantity { get; set; }
public string productPrice { get; set; }
public string discount { get; set; }
public bool isTaxable { get; set; }
public string finalPrice { get; set; }
public string lineItemTotal { get; set; }
public int orderId { get; set; }
}
JsonResut包含两个对象(即香蕉和苹果)。因此,我想遍历数据并获取两个ResultDtos。我该如何实现?
这行代码给了我错误:`ResultDto dto = JsonConvert.DeserializeObject(data);`
我是这样从视图发送数据的:
$.ajax({
url: url,
data: {
data: JSON.stringify(lineitems)
},
cache: false,
type: "POST",
success: function (data) {
},
error: function (reponse) {
alert("error : " + reponse);
}
});
如何在我的控制器中获取这个数据(一个对象数组)的最佳方法?一旦我在控制器中获取了这个数据,我想将其持久化到数据库中。所以,我不确定JsonResult是否是我的方法的正确返回类型。
public JsonResult CreateLineItems(string data) { //在这里编写你的代码 }
- er-shoCreateLineItems
方法中,将参数类型从JsonResult
改为string
。 - er-shoList<ResultDto>
,而isTaxable
是布尔类型,orderId
是整数类型。 - er-sho