压缩了json数据,angularJs

时间:2015-05-18 08:30:25

标签: .net json angularjs

我正在开发一个带有.net API的web应用程序和带有angularjs restfull的后端,问题我有大数据json(4 mb),是否有改进json数据或压缩的解决方案?优化响应时间

2 个答案:

答案 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