今天在实验当中发现了很不错的节省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长度28。

下面实现该方法:

因为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

}

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

节省Json流量的更多相关文章

  1. css 包含的图片和style="display:none"可以避免图片加载,可以节省网络流量

    从别人那儿学到一招:先记录下来: <head> <meta charset="UTF-8"> <title>Document</title ...

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

    一.使用jmeter来发送gzip数据 有时候我们需要模拟在客户端将数据压缩后, 发送(post)到服务器端. 通常这种情况,会发生在移动终端上. 这样做的好处, 是可以节省流量.  当然, 服务器返 ...

  3. 使用jmeter来发送json/gzip格式数据 --------笔记

    一.使用jmeter来发送gzip数据 有时候我们需要模拟在客户端将数据压缩后, 发送(post)到服务器端. 通常这种情况,会发生在移动终端上. 这样做的好处, 是可以节省流量.  当然, 服务器返 ...

  4. JMeter学习(三十四)使用jmeter来发送json/gzip格式数据(转载)

    转载自 http://www.cnblogs.com/yangxia-test 一.使用jmeter来发送gzip数据 有时候我们需要模拟在客户端将数据压缩后, 发送(post)到服务器端. 通常这种 ...

  5. 使用Ajax内容签名,减少流量浪费

    前端UI界面用Ajax获取数据内容的时候,一般是直接获取内容数据并填充,不管内容有无变化,不管数据量多大,都是直接重新加载数据,例如定时刷新公告等. 今天在浏览器控制台调试的时候,发现动态刷新内容,其 ...

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

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:Gophery 本文由 腾讯技术工程官方号 发布在云+社区 图像已经发展成人类沟通的视觉语言.无论传统互联网还是移动互联网,图像一直占据着 ...

  7. WebP 在减少图片体积和流量上的效果如何?MIP技术实践分享

    作者 | Jackson 编辑 | 尾尾 不论是 PC 还是移动端,图片一直占据着页面流量的大头,在图片的大小和质量之间如何权衡,成为了长期困扰开发者们的问题.而 WebP 技术的出现,为解决该问题提 ...

  8. 免费IPv6访问收费IPv4,校园网免流量

    软件:马上6 介绍: “可以让用户在免费的IPv6网络环境,有具备访问收费的IPv4互联网内容的能力!节省校园网流量!使用马上6客户端软件之后可以访问的IPv4互联网的内容(包括视频.游戏.音乐.学习 ...

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

    1:硬件方面 普通的一个p4的服务器每天最多能支持大约10万左右的IP,如果访问量超过10W那么需要专用的服务器才能解决,如果硬件不给力 软件怎么优化都是于事无补的.主要影响服务器的速度 有:网络-硬 ...

随机推荐

  1. [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform

    eclipse maven clean install 报错 1. 修改properties-->resource-->utf-8仍然报错 2.修改项目pom.xml文件,增加: < ...

  2. 总结iOS开发中的断点续传那些事儿

    前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...

  3. git快速get

    配置:git config --global user.name 'yangshaoxiang' git config --global user.email '254135495@qq.com' s ...

  4. [Hadoop in Action] 第6章 编程实践

    Hadoop程序开发的独门绝技 在本地,伪分布和全分布模式下调试程序 程序输出的完整性检查和回归测试 日志和监控 性能调优   1.开发MapReduce程序   [本地模式]        本地模式 ...

  5. Vue.js——60分钟组件快速入门(上篇)

    组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HTML ...

  6. 机器指令翻译成 JavaScript —— No.2 跳转处理

    上一篇,我们发现大多数 6502 指令都可以直接 1:1 翻译成 JS 代码,但除了「跳转指令」. 跳转指令,分无条件跳转.条件跳转.从另一个角度,也可分: 静态跳转:目标地址已知 动态跳转:目标地址 ...

  7. CYQ.Data V5 分布式自动化缓存设计介绍

    前方: 其实完成这个功能之前,我就在思考:是先把想法写了来,和大伙讨论讨论后再实现,还是实现后再写文论述自己的思维. 忽然脑后传来一个声音说:你发文后会进入发呆阶段. 所以还是静下心,让我轻轻地把代码 ...

  8. ubuntu+mono+jexus 搭建.net的web平台 实现.net跨平台

    准备工作: vmware 用来安装 ubuntu 下载地址:VMware-workstation-9.0.1-894247.exe.tar 注册码: 1A4P8-DMK0N-FZ431-7K8NH-2 ...

  9. 微软Visual Studio Code 0.8.0发布,新增多种主题

    月30日,Build 开发者大会上,正式宣布了 Visual Studio Code 项目;并将其定义为:一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和 ...

  10. 【腾讯Bugly干货分享】微信终端跨平台组件 mars 系列(二) - 信令传输超时设计

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/9DJxipJaaBC8yC-buHgnTQ 作者简介: ...