Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc asp.net mvc控件中的反序列化错误_Asp.net Mvc_Jqgrid - Fatal编程技术网

Asp.net mvc asp.net mvc控件中的反序列化错误

Asp.net mvc asp.net mvc控件中的反序列化错误,asp.net-mvc,jqgrid,Asp.net Mvc,Jqgrid,我正在使用jqGrid,通过使用getRowData我正在获取jqGrid数据。之后,我应用了JSON.stringify(rowData),最后得到的结果如下: [ { "FIRST_NAME": "Krish", "LAST_NAME": "Patil", "EMPLOYEE_TYPE": "Consultant", "TITLE": "Application Resource", "LOCATION":

我正在使用jqGrid,通过使用
getRowData
我正在获取jqGrid数据。之后,我应用了
JSON.stringify(rowData)
,最后得到的结果如下:

[
    {
        "FIRST_NAME": "Krish",
        "LAST_NAME": "Patil",
        "EMPLOYEE_TYPE": "Consultant",
        "TITLE": "Application Resource",
        "LOCATION": "USA ",
        "CENTER_NAME": "Application Development & Testing",
        "EMAIL": "goal@test.com",
        "COMMENTS": "testing"
    }
]
正如“JavaScript”中所预期的那样,它运行良好。但是,一旦我将此数据发送到控制器并尝试对其进行反序列化,我将收到一个未终止的字符串错误
“CENTER\u NAME”:“Application Development..
由于“&”(特殊字符)正在发生。我如何解决此问题,请提供相同的建议

------反序列化代码------------

JavaScriptSerializer ser=newJavaScriptSerializer();
UserData结果=ser.反序列化(UserData);

我建议您验证所使用的
userData
的类型。您不会发布更完整的ASP.NET MVC代码。我假设数据(变量
userData
)已经通过ASP.NET MVC反序列化为object。JSON规范(请参阅)非常简单。仅
\
字符必须转义。还有一些其他字符可以转义(例如
/
)。我无法想象
JavaScriptSerializer
会出现错误处理
&
字符的错误

已更新:代码中一个可能的错误是您使用的
UserData
类是什么。也许代码应该是

List result=ser.反序列化(userData);
而不是

UserData结果=ser.反序列化(UserData);
因为您发送了项目数组。以任何方式,程序都会使用代码

使用系统;
使用System.Collections.Generic;
使用System.Web.Script.Serialization;
命名空间反序列化测试{
公共类用户数据{
公共字符串名称;
公共字符串姓氏;
公共字符串EMPLOYEE_TYPE;
公共字符串标题;
公共字符串位置;
公共字符串中心名称;
公共字符串电子邮件;
公共字符串注释;
};
班级计划{
静态空隙干管(){
const string userData=“[{\”名字“:”克里斯“,”姓氏“:”帕蒂尔“,”员工类型“:”顾问“,”头衔“:”应用程序资源“,”位置“:”美国“,”中心“:”应用程序开发与测试“,”电子邮件“:”goal@test.com\“,”注释“:\”测试“}]”;
var ser=新的JavaScriptSerializer();
var result=ser.Deserialize(userData);
WriteLine(“结果[0]。中心名称={0}”,结果[0]。中心名称);
}
}
}
正常工作,无任何异常,并在控制台上显示以下文本:

结果[0]。中心名称=应用程序开发与测试
 JavaScriptSerializer ser = new JavaScriptSerializer();
 UserData result = ser.Deserialize<UserData>(userData);