.net 无法转换类型为';System.String';输入';房地产研究';

.net 无法转换类型为';System.String';输入';房地产研究';,.net,json,web-services,deserialization,.net,Json,Web Services,Deserialization,我有一个weservice方法 public string SearchProperties(string pPropertySearch, string pSort) { string[] _propSearch = pPropertySearch.Split(','); string searchType = (_propSearch)[_propSearch.Length - 1]; List<Property> retu

我有一个weservice方法

public string SearchProperties(string pPropertySearch, string pSort)
    {
        string[] _propSearch = pPropertySearch.Split(',');
        string searchType = (_propSearch)[_propSearch.Length - 1];
        List<Property> returnResults = new List<Property>();
        try
        {
            PropertySearch _MyPropertySearch = (PropertySearch)JavaScriptConvert.DeserializeObject(pPropertySearch, typeof(PropertySearch));
            returnResults = PropertyDALC.SearchPropertyNew(_MyPropertySearch, pSort, searchType, 25);
        }
        catch (Exception e)
        {

        }
        string output = JavaScriptConvert.SerializeObject(returnResults);

        return output;
    }
我已将字符串“pPropertySearch”指定为:

当点击InVoke按钮时,webservice被调用并靠近此行

" PropertySearch _MyPropertySearch = (PropertySearch)JavaScriptConvert.DeserializeObject(pPropertySearch, typeof(PropertySearch));"
它给了这个例外,

 "Cannot convert object of type 'System.String' to type 'PropertySearch'"
这个代码有什么问题。请纠正我

我是否以错误的格式传递字符串?请帮忙。 我不知道webservice中的这些序列化、反序列化概念


感谢您的帮助

看起来您正在尝试使用无效的json进行反序列化。检查json格式的好地方是。您希望json对象看起来更像这样:

{
    "UserId": 1,
    "SessionId": 1,
    "PriceMin": 1,
    "PriceMax": 1,
    "BedsMin": 1
}

您遇到的问题是您正在传递一个逗号分隔的字符串。反序列化程序不知道要映射到哪些字段的值。

@DSlangle,非常感谢!!
 "Cannot convert object of type 'System.String' to type 'PropertySearch'"
{
    "UserId": 1,
    "SessionId": 1,
    "PriceMin": 1,
    "PriceMax": 1,
    "BedsMin": 1
}