Jquery ui 来自WebService的ASP.NET 4.0 JSON-删除转义斜杠

Jquery ui 来自WebService的ASP.NET 4.0 JSON-删除转义斜杠,jquery-ui,asp.net-ajax,Jquery Ui,Asp.net Ajax,嗨,我的头撞到墙上了 我正在使用DataContractJsonSerializer对从数据库中检索的数据进行编码,并将其发送回AJAX调用 我有这个分机: public static string ToJSON<T>(this T obj) where T : class { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); u

嗨,我的头撞到墙上了

我正在使用DataContractJsonSerializer对从数据库中检索的数据进行编码,并将其发送回AJAX调用

我有这个分机:

public static string ToJSON<T>(this T obj) where T : class
    {
        DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
        using (MemoryStream stream = new MemoryStream())
        {
            serializer.WriteObject(stream, obj);
            return Encoding.Default.GetString(stream.ToArray());
        }
    }
使用实体框架从存储过程传入结果集

这都是些工作,除了这是归还的一部分:

{"d":"[{\"FileID\":296,\"IconUrl\":\"\\/Files\\/Banners\\/20119\\/00B56BAC.jpg\",\"ImageUrl\":....
我究竟如何摆脱斜杠,使其返回以下内容:

{"d":"[{"FileID":296,"IconUrl":"/Files/Banners/20119/00B56BAC.jpg","ImageUrl":....

我正在尝试实现jQueryUI自动完成。我猜这会对它进行排序,不确定是否需要引号中的FileID值?

您不需要手动对返回值进行JSON序列化,因为。您看到的是ASP.NET对手动生成的字符串应用了第二级JSON序列化,这需要用反斜杠转义双引号


更改ASMX方法以返回类似于
List
的内容,并直接返回
\u webservices.get赞助商()
,而不使用ToJSON()扩展名。

您不需要手动对返回值进行JSON序列化,因为。您看到的是ASP.NET对手动生成的字符串应用了第二级JSON序列化,这需要用反斜杠转义双引号


更改ASMX方法以返回类似于
List
的内容,并直接返回
\u webservices.get赞助商()
,而不使用ToJSON()扩展名。

不,这是MVP。。。我会发布一些代码,这是MVP。。。我会发布一些code@Ianc22当前位置你不应该感到难过。这是一个极其常见的错误。在这里,ASP.NET是否会为您处理JSON工作一点也不明显,因此很自然地认为您需要自己来处理。@22:您不应该感到不舒服。这是一个极其常见的错误。在这里,ASP.NET是否会为您处理JSON工作一点也不明显,因此很自然地假设您需要自己处理。
{"d":"[{"FileID":296,"IconUrl":"/Files/Banners/20119/00B56BAC.jpg","ImageUrl":....