gpt4 book ai didi

javascript - 加速从 C# 到 JSON 的 JSON 序列化

转载 作者:行者123 更新时间:2023-11-29 14:49:24 25 4
gpt4 key购买 nike

我想将我的数据集序列化为 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);
}

这是 ConvertToSerializedJson 的作用

     public string ConvertToSerializedJson(Object listBO)
{
string jsonReturn = String.Empty;
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
jsonReturn = serializer.Serialize(listBO);
return jsonReturn;
}

我要序列化的数据量很大,大约有 200.000 个数据。

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

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

using Newtonsoft.Json;

并更改序列化程序代码

return JsonConvert.SerializeObject(listProvider);

它加快了一点,但也让我的浏览器几乎挂起。全部连载完成需要4分钟。

问题是,我怎样才能加快序列化速度呢?我的查询只需要 4 秒就可以完成查询执行并从数据库中检索数据。需要很长时间的是序列化过程有没有比这运行得更快的功能?请发布名称库或函数以及基准测试,如果我有重大更改,我会更新这篇文章。

干杯。

已更新这就是我爱你们的原因,在你们好心人的建议下,我加快了速度,这里是我“调整”了一些东西。

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

正如@sanguaire 所述,我正在尝试使用 fastJSON 库 ( download here ),编译为 dll,添加对我的项目的引用,这个速度有点快。

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

enter image description here

谢谢大家的意见。这么晚才回复很抱歉。我会(如果我的点数达到赞成票标准)在这里对你的两个答案投赞成票。

最佳答案

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

你可以在这里找到它 Article about JSON libraries

再见。

关于javascript - 加速从 C# 到 JSON 的 JSON 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28061059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com