Javascript 加快从C#到JSON的JSON序列化

Javascript 加快从C#到JSON的JSON序列化,javascript,c#,json,serialization,asmx,Javascript,C#,Json,Serialization,Asmx,我想将我的数据集序列化为JSON 下面是我的ASMX序列化对象的代码片段 [WebMethod(EnableSession = true)] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string GetProviderMemberDetail(string jsonString) { BPMember bp = new BPMem

我想将我的数据集序列化为JSON

下面是我的ASMX序列化对象的代码片段

        [WebMethod(EnableSession = true)]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string GetProviderMemberDetail(string jsonString)
        {
            BPMember bp = new BPMember();
            List<BOProvider> listProvider = bp.GetProviderMemberDetail(jsonString);
            return ConvertToSerializedJson(listProvider);
        }
我必须序列化的数据量很大,大约有200.000个数据

我尝试过这种方法,我的浏览器挂起,没有响应,我必须等待6分钟才能完成

第二次尝试,我尝试了Newtonsoft.Json中的序列化程序函数, 增加

以及使用

return JsonConvert.SerializeObject(listProvider);
它加快了一点速度,但也让我的浏览器几乎挂起。完成所有序列化需要4分钟

问题是,如何加快序列化的速度?我的查询只需要4秒钟就可以完成查询执行并从数据库中检索数据。需要花费很长时间的是序列化过程 有没有比这更快的功能?请张贴名称库或函数和基准,我会更新这篇文章,如果我得到良好的重大变化

干杯

已更新 这就是为什么我爱你们,在你们善良的建议下,我加快了速度,以下是我“调整”的地方

正如@Saravanan所说,我已经减少了BO上任何未使用的(或很少使用的频率)。这是一个成功的调整。从300秒(5分钟)到18秒

正如@sanguaire所说的,我正在尝试使用fastJSON库(),编译成dll,添加对我的项目的引用,这样会加快一点速度

为我检索200.000个数据所需的时间约为14秒到18秒。这是我的17列基准测试


谢谢你们的意见,伙计们。很抱歉迟了答复。我会(如果我的分数达到最高投票标准)在这里投票支持你的两个答案。

你可以在codeproject上找到一篇关于JSON序列化的不同库(带有基准测试)的好文章

你可以在这里找到它

再见。

见此:

图表(速度和有效载荷大小):

典型人物/单身,名单[100],名单[5000]。。。

纠缠对象图/会议/参与者/朋友。。。

网络堆栈批处理。。。

我们还有EDI X12测试,尚未发布。获取工具并按如下方式运行:
“sb edi.laconf”它将在磁盘上生成web报告

您的bo对象有多大,是否嵌套?@Saravanan它有50个属性,仅
code{get;set;}
用于所有成员。它有50个属性,但在我的例子中,我只对它们使用10个属性。属性计数是否有效?因此,我将使用较少的成员创建新BO,因为当前BO成员对象是供我的团队使用的,它肯定会产生影响…而且,我相信属性是简单类型…在这种情况下,它将帮助您,所有属性都是简单类型,例如仅字符串和int。那么你的建议是什么@Saravanan?创建一个具有10个属性的对象并检查。。它应该加快…请张贴主要答案及其包含的内容,因为你只提供了链接。您是否知道,仅包含链接的发布解决方案是不推荐的?我将在这里更新基准测试。是的,我知道,但本文处理了许多库,我不想重复这篇文章;)这篇文章太棒了。。由于本文以某种方式将fastJSON加粗为fast,因此最好记住,它对于大型数据集非常快,但与复杂对象不兼容,例如:包含许多其他模型的模型(提示:fastJSON中的类型)。。。所以,如果您需要使用fastJSON,最好将每个对象分别序列化,以解决fastJSON的对象复杂性问题
using Newtonsoft.Json;
return JsonConvert.SerializeObject(listProvider);