节省Json流量

今天在实验当中发现了很不错的节省json流量方式,来做个笔记给大家分享一下。

如果跟服务器传递键值对的数组,我们一般会采用下面方式

创建一个字段

public class kv

{

public string key { get; set; };

public string value { get; set; };

}

实例化li

List<kv> li = new List<kv>();

添加参数

li.add(new li{key="cn",value="china"});

li.add(new li{ key="mn", value="mongol"});

让后转换成json

using System.Web.Script.Serialization;命名空间

JavaScriptSerializer jss=new JavaScriptSerializer();实例化。JavaScriptSerializer()下有Serializer方法,它是把object序列化成json字符串。

String json=jss.Serialize(li);

Json的值"[{"key":"cn","value":"china"},{"key":"mn","value":"mongol"}]",json.lenght长度60。

Js:    var a=JSON.parse(json);

for (var i = 0; i < a.lenght; i++) {

alert(a[i].k+":"+a[i].v);

}

但发现json字符串里的""value""和""value""很多余!希望是"[{"cn":"china"},{"mn":"mongol"}]", json.lenght长度31。

下面实现该方法:

因为Serializer方法接受object,我们可以把Dictionary转换成json。

Dictionary<string,string> dic = new Dictionary<string,string>();//实例化Dictionary键值对

添加参数

dic.add("cn","china");

dic.add("mn","mongol");

JavaScriptSerializer jss = new JavaScriptSerializer();

String json=jss.Serialize(dic);

Json的值"[{"cn":"china"},{"mn":"mongol"}]"

Js:    var a=JSON.parse(json);    //序列化

for(k in a){            //js中for相当于foreach,注意:他会遍历出key的值

alert(k+":"+a[k]);        //根据已知的key找出对应的value

}

对本例子节约了48.33%的流量哦。

时间: 2024-10-08 17:36:57

节省Json流量的相关文章

用chnroutes来节省vpn流量

国内墙确实阻止了非常多不良信息的传入,却也一定程度上限制了中国互联网的发展,能知道vpn的读者也已经有了各种观念和推断是非的能力,这里不过提供一个方法.请不要用它来做一些不好的事情. 发现hosts不太好用了.前段时间github卡的要死,近期又看到了vpn的一些文章,于是,心一痒,准备找个vpn来用.在死缠烂打度娘好久之后,找到了这个能用的:VPNCUP   猛击我注冊,缺点就是每20分钟会掉线一次(后来发现能够通过推广链接来获取邀请权值,达到一定程度就能够不掉线).每月有1G流量.只是,1G

【转】JMeter学习(三十五)使用jmeter来发送json/gzip格式数据

一.使用jmeter来发送gzip数据 有时候我们需要模拟在客户端将数据压缩后, 发送(post)到服务器端. 通常这种情况,会发生在移动终端上. 这样做的好处, 是可以节省流量.  当然, 服务器返回的数据也可以是gzip格式, 终端在数据展现时,需要先解压缩. 同样也是为了节省网络流量. 1. 首先我们把要post的数据, 保存在文本文件里,然后gzip压缩. (可以使用linux中的gzip命令) 2. 在jmeter的http sample里, 使用"同时发送文件数据"的方式,

Python——数据存储:JSON操作

JSON格式的数据格式广泛使用在各种应用中,比XML格式更轻量级,所以现在很多应用都选择JSON格式保存数据,尤其是需要通过网络传输(如socket传输)数据时,这对于移动应用更具有优势.JSON格式数据比XML格式的数据量更小,所以传输速度更快,也更节省数据流量(省钱),因此,在移动APP应用中,几乎都是采用了JSON格式. JSON格式的数据可以保存数组和对象.JSON数组用一对中括号'[  ]'将数据括起来:JSON对象用一对大括号'{  }'将数据括起来.本文介绍JSON字符串与字典的互

移动开发 网络流量精简攻略

作为一名移动开发者,在过去的几年里也做过不少的项目,今天就来写一篇浅薄的节省网络流量的文章,希望这篇文章对所有的移动开发者,以及接口的服务端开发者都有帮助. 为什么要精简?(Why) 1.节省用户的流量. 因为用户的流量可能是要付费的,为用户节省流量是每一个移动开发者应当牢牢记住的原则之一 2.提高网络数据加载速度. 流量精简了,接口获取数据的速度会有提升,应用的一些页面加载速度可以提升,这点我想大家也都能理解 3.减轻服务器压力. 通过优化接口,减少数据量,可以提高服务器的利用率,减少服务器并

PHP解决网站大数据大流量与高并发

1:硬件方面 普通的一个p4的服务器每天最多能支持大约10万左右的IP,如果访问量超过10W那么需要专用的服务器才能解决,如果硬件不给力 软件怎么优化都是于事无补的.主要影响服务器的速度 有:网络-硬盘读写速度-内存大小-cpu处理速度. 2:软件方面 第一个要说的就是数据库,首先要有一个很好的架构,查询尽量不用* 避免相关子查询 给经常查询的添加索引 用排序来取代非顺序存取,如果条件允许 ,一般MySQL服务器最好安装 在Linux操作系统中 .关于apache和nginx在高并发的情况下推荐

PHP解决网站大流量与高并发

1:硬件方面 普通的一个p4的服务器每天最多能支持大约10万左右的IP,如果访问量超过10W那么需要专用的服务器才能解决,如果硬件不给力 软件怎么优化都是于事无补的.主要影响服务器的速度 有:网络-硬盘读写速度-内存大小-cpu处理速度. 2:软件方面 第一个要说的就是数据库,首先要有一个很好的架构,查询尽量不用* 避免相关子查询 给经常查询的添加索引 用排序来取代非顺序存取,如果条件允许 ,一般MySQL服务器最好安装 在Linux操作系统中 .关于apache和nginx在高并发的情况下推荐

如何节省1TB图片带宽?解密极致图像压缩!

图像已经发展成人类沟通的视觉语言.无论传统互联网还是移动互联网,图像一直占据着很大部分的流量.如何在保证视觉体验的情况下减少数据流量消耗,一直是图像处理领域研究的热点.也诞生了许多种类的图像格式JPEG.PNG .GIF.WEBP.HEVC,以及腾讯公司自研的WXAM和SHARPP格式. 腾讯TEG - 架构平台部图片存储系统TPS 作为超大规模的图片平台,图片数万亿张存储量百P,下载带宽数T,一直需要严重关注图像压缩技术的发展.本文就近几年图像压缩技术的发展.新格式的出炉,和图片存储系统TPS

NSURLCache详解和使用

http://www.cnblogs.com/cbw1987/p/5910624.html 使用缓存的目的是为了使应用程序能更快速的响应用户输入,是程序高效的运行.有时候我们需要将远程web服务器获取的数据缓存起来,以空间换取时间,减少对同一个url多次请求,减轻服务器的压力,优化客户端网络,让用户体验更良好. 背景:NSURLCache : 在iOS5以前,apple不支持磁盘缓存,在iOS5的时候,允许磁盘缓存,(NSURLCache 是根据NSURLRequest 来实现的)只支持http

iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求

iOS网络缓存扫盲篇 --使用两行代码就能完成80%的缓存需求 下篇预告:使用80%的代码来完成剩下的20%的缓存需求 .敬请 star (右上角)持续关注. 目录 当我们在谈论缓存的时候,我们在谈论什么? GET网络请求缓存 80%的缓存需求:两行代码就可满足 控制缓存的有效性 文件缓存:借助ETag或Last-Modified判断文件缓存是否有效 Last-Modified ETag 总结 一般数据类型借助 Last-Modified 与 ETag 进行缓存 剩下20%的网络缓存需求--真的