C# JavaScriptSerializer:有没有发送未扫描数据的方法?

C# JavaScriptSerializer:有没有发送未扫描数据的方法?,c#,json,serialization,asmx,javascriptserializer,C#,Json,Serialization,Asmx,Javascriptserializer,我编写了一个.ToJson扩展方法,如下所示: public static string ToJson(this object obj) { JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Serialize(obj); } 这允许我执行类似myObject.ToJson的操作,以获取一个JSON字符串,通过my.asmx web服务发送回我的应用程序。这一切都很好

我编写了一个.ToJson扩展方法,如下所示:

public static string ToJson(this object obj)
{
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    return serializer.Serialize(obj);
}
这允许我执行类似myObject.ToJson的操作,以获取一个JSON字符串,通过my.asmx web服务发送回我的应用程序。这一切都很好

出现了一个问题,我正在构建一个需要将大量异步数据传输到页面的页面,并且我开始达到超过100k的数据有效负载。在查看JSON时,我注意到它对我返回的任何内容进行编码,这会添加很多额外字符。由于这个应用程序是一个面向极少数用户的管理工具,所以我并不十分担心这种安全性,但我似乎无法在如何控制编码中找到它

以下是我收到的示例:

{"d":"[{\"OrderId\":1308,\"Approved\":true,
\"Status\":\"\\u003cimg class=\\\"statusicon\\\" src=\\\"/images/ ...
当我应该得到这样的东西时:

{"d": [{"OrderId":1308,"Approved":true,"Status":"<img class=\"statusicon\"
src=\"/images/ ...

我有这个问题。json库未返回转义文本。我相信javascript本身将其解释为逃逸

<script type="text/javascript">
     $(document).ready(function () {
          var columnNumber = 1;
          var databaseTypes = <%= Html.Raw(ViewBag.DatabaseTypes) %>;

请查看Viewbag区域。这是如何在asp.net mvc视图中插入文本。

您试图获取的是无效的JSON,对吗?你确定这就是你想要的吗?不,我想要有效的JSON。我只是不希望所有的值都被转义。当然我希望内部引号转义,它们必须是,但我不想转义,这看起来像是它在做什么,所以不是给d分配一个字符串,你想要那个数组吗?是的,我想那也可以。你试图序列化的对象看起来像什么?看起来由于某种原因,序列化程序认为d属性是字符串。
<script type="text/javascript">
     $(document).ready(function () {
          var columnNumber = 1;
          var databaseTypes = <%= Html.Raw(ViewBag.DatabaseTypes) %>;