我正在开发 ASP.NET MVC 4.0 应用程序。
我在 Kendo Window 刷新选项中像这样将表单的值发送到控制器:-
var frm = $("#formUpdate");
var productWindow = $("#ProductWindow").data("kendoWindow");
productWindow .refresh({
url: "../../Product/UpdateProduct",
data: { model: JSON.stringify(frm.serializeArray())}
});
下面是我在控制器上得到的字符串:-
[{"name":"DefaultAddressNumber","value":""},{"name":"Id2","value":"tax id 1"}, {"name":"Id2","value":"tax id 2"},{"name":"Id","value":"5"},{"name":"ProductTaxes","value":""},{"name":"ProdcutId","value":"20"},{"name":"InsuranceId","value":""},{"name":"OrgAddr1","value":""},{"name":"OrgAddr2","value":""},{"name":"OrgAddr3","value":""},{"name":"Name","value":"Amit Kumar"},{"name":"Description","value":"Description"},{"name":"SelectedProductSubTypeId","value":""},{"name":"IsEmailFinalizedProduct","value":"False"}]
我想再次将该字符串反序列化为数组或对象的形式,或者我可以轻松读取/获取它的东西。
为此,我使用了以下代码:-
var productString = Newtonsoft.Json.JsonConvert.DeserializeObject<ProductViewModel>(str);
但是我在使用这个时遇到了以下错误:
无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型“ProductRepository.ViewModel.ProductViewModel”,因为该类型需要 JSON 对象(例如 {"name":"value"})才能正确反序列化。
要修复此错误,请将 JSON 更改为 JSON 对象(例如 {"name":"value"})或将反序列化类型更改为数组或实现集合接口的类型(例如 ICollection、IList),例如可以从 JSON 数组反序列化。JsonArrayAttribute 也可以添加到类型中以强制它从 JSON 数组反序列化。
路径'',第 1 行,位置 1。
任何人都可以帮我解决这个问题,这意味着我如何解析这个字符串?