我正在研究ASP.NET MVC 4.0应用程序。如何在MVC中将json数组解析为控制器?
我送我的窗体的值设置为控制器这样的剑道窗口刷新选项: -
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对象(例如 {“名称”:“值”})或改变反序列化类型到一个数组或一个实现的集合接口 类型(例如ICollection的, IList) 就像可以从JSON数组反序列化的List。 也可以将JsonArrayAttribute添加到该类型,以强制它从一个JSON数组中反序列化 。
路径“”,1号线,位置1
任何一个可以帮助我在这,意味着我如何解析这个字符串?
尝试'变种productString = Newtonsoft.Json.JsonConvert.DeserializeObject>(STR);' –
shakib