jQuery插件-json2.js
from:http://blog.csdn.net/gjb724332682/article/details/46682743
前言
json2.js是一个json插件,下载地址:https://github.com/douglascrockford/JSON-js
它包含两个方法,JSON.stringify(value, replacer, space)和JSON.parse(text, reviver)
JSON.stringify(value, replacer, space)
value
要序列化的值,可以是数组或者对象。
replacer
可选参数,可以是一个函数或者一个数组,函数可以根据键替换旧的值,而数组可以决定要序列化的键。
space
可选参数,排版用的,如果它是数值,表示在每层缩进多少个空格,如果是字符串,例如 '\t' 或者' ',表示在每层使用这个字符来缩进。
例子
- 1、console.log(JSON.stringify([{a: "诶"}, {b: "比"}]));
- 结果:
- [{"a":"诶"},{"b":"比"}]
- 2、console.log(JSON.stringify([{a: "诶"}, {b: "比"}],null,"\t"));
- 结果:
- [
- {
- "a": "诶"
- },
- {
- "b": "比"
- }
- ]
- 3、console.log(JSON.stringify([{a: "诶"}, {b: "比"}],["a"]));
- 结果:
- [{"a":"诶"},{}]
- 4、var jsonText = JSON.stringify({
- a : "诶",
- b : "比"
- },jsonConvert);
- function jsonConvert(key, value) {
- switch (key) {
- case "a":
- return "A";
- case "b":
- return "B";
- default:
- return value;
- }
- }
- console.log(jsonText);
- 结果:
- {"a":"A","b":"B"}
- 5、有时候JSON.stringify()还是不能满足对某些对象进行自定义序列化的需求,在这些情况下,可以通过对象上调用toJSON()方法,返回其自身的JSON数据格式。
- 例如:console.log(JSON.stringify({a: "诶",b: "比",toJSON:function(){return "自定义"}});结果是返回"自定义".
JSON.parse(text, reviver)
text
要解析的字符串。
reviver
可选参数,是一个函数,用于过滤和转换结果,它接收每一对键值对并执行这个函数,记住,最后一定要加上return value。
例子
- 1、console.log(JSON.parse('{"a":"诶","b":"比"}'));
- 结果:
- Object { a="诶", b="比"}
- 2、console.log(JSON.parse('{"a":"诶","b":"比"}',function(key,value){
- if(key=="a"){
- return "A";
- }else if(key=="b"){
- return "B";
- }
- return value;
- }));
- 结果:
- Object { a="A", b="B"}
jQuery插件-json2.js的更多相关文章
- 另外一款超棒的响应式布局jQuery插件 – Freetile.js
在线演示 我们曾经介绍过俩款知名的响应式布局插:isotope和masonary,今天我们这里再介绍一款相当不错的响应式布局插件 – Freetile.js,使用它同样可以生成超酷的动态布局效果.相信 ...
- 帮助更语义化的显示时间的jQuery插件 - tidyTime.js
来源:GBin1.com 网站或者web应用开发过程中,难免会遇到需要展示时间的地方,例如,留言时间或者发布帖子的时候,那么大家是不是相关过使用更加符合语义学的方式来显示时间呢? 08:15 显示成 ...
- JQuery插件supersized.js实现背景图片淡入浅出
淡入浅出的网站背景图片切换,其实是引用了JQuery插件supersized,效果很炫吧.其实这个插件功能很强大,可以做很多图片类的效果.这些需要等待我们自己去探索. 下面是这个效果的代码只有一行: ...
- JQuery插件 aos.js
简介: aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件.该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果.在页面往回滚动时,元素会恢复到原来的状态. ...
- html select美化模拟jquery插件select2.js
代码展示:http://www.51xuediannao.com/demo.php 代码说明: select2.js是一个html select美化模拟类jquery插件,但是select2.js又远 ...
- 延迟加载图片的 jQuery 插件——lazyload.js
lazyload 这个 jQuery 插件,是用来缓冲加载图片的插件.如果一篇文章很长有很多图片的话,下载图片就需要很多时间.而这款插件,会检测你的滚动情况,只有你要看到那个图片的时 候,它才会从后台 ...
- jquery插件lazyload.js延迟加载图片的使用方法
如果一个网页很长并且有很多图片的话,下载图片就需要很多时间,那么就会影响整个网页的加载速度,而这款延迟加载插件,会通过你的滚动情况来加载你需要看的图片,然后它才会从后台请求下载图片,最后显示出来.通过 ...
- jquery插件--ajaxfileupload.js上传文件原理分析
英文注解应该是原作者写的吧~说实话,有些if判断里的东西我也没太弄明白,但是大致思路还是OK的. jQuery.extend({ createUploadIframe: function (id, u ...
- 【微收藏】来自Twitter的自动文字补齐jQuery插件 - Typeahead.js
没图没逼格 事发有因 该插件可以结合本地数据进行一些操作.推荐关注一下H5的几种数据存储的方式(localstorage与sessionstorage.IndexedDB.离线缓存manifest文件 ...
随机推荐
- 【转】es6的拓展运算符 spread ...
原文:https://blog.csdn.net/qq_30100043/article/details/53391308 The rest parameter syntax allows us to ...
- window7下面安装pear.pchar--wamp环境
准备工作: Wamp php版本:5.3.10 1.下载pear.phar 2.设置php路径的path环境变量 开始安装 1.以管理员身份运行cmd 2.进入pear.phar的所在目录 3.命令行 ...
- WPF动画制作简单的按钮动画
主界面的代码 <StackPanel ButtonBase.Click="Grid_Click"> <Button Content="逐渐变大缩小&qu ...
- Python学习笔记(四)多进程的使用
python中多进程与Linux 下的C基本相同. fork的基本使用 先看最简单的例子: # coding: utf-8 import os def my_fork(): pid = os. ...
- centos7,py2和py3共存
1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...
- linux 修改时间
实例:设置时间伟2008年8月8号12:00# date -s "2008-08-08 12:00:00"修改完后,记得执行clock -w,把系统时间写入CMOS date -s ...
- C++常考面试题汇总(持续更新中)
c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...
- Oracle 存储过程调用返回游标的另一个存储过程。
一个扩展存储过程调用另一个存储过程,示例: 被调用存储过程:最后会返回一个游标,游标返回一个值.调用这个存储过程的存储过程同样需要获取它. procedure SearchBill --根据到货单号查 ...
- Python技术公众号100天了
公众号100天了,是个值得一提的日子! 我从2017年10月31日开始做这个公众号,到今天2018年2月7日,差不多100天时间 .虽然公众号很早就申请了,但直到去年10月31日,我才有真正把这个公众 ...
- Flex colorTranfrom使用说明
这次使用colorTranfrom主要用来将一个已有的过渡颜色映射到其他颜色条.发现这个colorTranfrom很好使用,于是简单研究了下 文档有说明: 使用 ColorTransform 类调整显 ...