C# 无法使用JavaScriptSerializer反序列化json字符串
通过javascript,我向webmethod发送了以下内容:C# 无法使用JavaScriptSerializer反序列化json字符串,c#,asp.net,webforms,webmethod,C#,Asp.net,Webforms,Webmethod,通过javascript,我向webmethod发送了以下内容: var firstname = $("#txtfirstname").val(); var lastname = $("#txtlastname").val(); var dataFilter = { "filterType": "fn_ln", "data": { "firstName": firstname, "lastName": lastname }
var firstname = $("#txtfirstname").val();
var lastname = $("#txtlastname").val();
var dataFilter = { "filterType": "fn_ln", "data": { "firstName": firstname, "lastName": lastname } }
var data = JSON.stringify(dataFilter)
data = data.replace(/\"/g, '\'');
datatoSend = '{ filters:"' + data + '" }';
我使用data.replace(/\“/g,,\”);
这样webmethod就可以接受数据(否则我会从webmethod得到一个错误500)
一旦在web方法中我收到
"{'filterType':'fn_ln','data':{'firstName':' aa','lastName':' bb'}}"
作为参数。然后使用c#,当我尝试时
JavaScriptSerializer sr = new JavaScriptSerializer();
srFilterData filterin = sr.Deserialize<srFilterData>(filters);
有什么问题吗?使用C#类,如下所示:
[Serializable]
public class srFilterData
{
public String filterType { get; set; }
public UserData data { get; set; }
}
[Serializable]
public class UserData
{
public String firstName { get; set; }
public String lastName { get; set; }
}
[Serializable]
public class srFilterData
{
public String filterType { get; set; }
public UserData data { get; set; }
}
[Serializable]
public class UserData
{
public String firstName { get; set; }
public String lastName { get; set; }
}