我正在开发一个带有.net API的web应用程序和带有angularjs restfull的后端,问题我有大数据json(4 mb),是否有改进json数据或压缩的解决方案?优化响应时间
答案 0 :(得分:1)
压缩JSON数据的方法很少 1)尝试使用数组数组
,而不是使用对象数组例如:
[{"name":"qwerty","mobile":"000112233","location":"NorthPole"},{"temp":"0 deg","sunrise":"qw","sunset":"er"}]
到
[["qwerty","000112233","NorthPole"],["0","qw","er"]]
2)删除json对象中的空格
3)如果你想维护对象数组。然后减少变量名称的大小:
[{"n":"qwerty","m":"000112233","l":"NorthPole"},{"t":"0 deg","r":"qw","s":"er"}]
我的建议是不要在webapi中传递大量重量数据。使用异步调用来获取按需提供的数据。
答案 1 :(得分:1)
除了在服务器端代码中使用某些缩小库之外,您还可以在Web服务器本身上设置GZIP压缩。今天所有浏览器都支持GZIP并将发送var file = new FileTarget
{
FileName = @"C:\Logs\file.log",
ArchiveFileName = @"C:\Logs\file.{#}.log",
ArchiveEvery = FileArchivePeriod.Minute,
ArchiveAboveSize = 2 * 1024 * 1024, // 2MB.
ArchiveNumbering = ArchiveNumberingMode.Sequence,
MaxArchiveFiles = 60,
};
标头,因此服务器会在发送响应之前知道压缩。
以下是Apache和IIS上的设置压缩的链接:
http://httpd.apache.org/docs/2.0/mod/mod_deflate.html
https://technet.microsoft.com/en-us/library/cc771003(WS.10).aspx