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' 或者' ',表示在每层使用这个字符来缩进。

例子

[html] view plaincopy
  1. 1、console.log(JSON.stringify([{a: "诶"}, {b: "比"}]));
  2. 结果:
  3. [{"a":"诶"},{"b":"比"}]
  4. 2、console.log(JSON.stringify([{a: "诶"}, {b: "比"}],null,"\t"));
  5. 结果:
  6. [
  7. {
  8. "a": "诶"
  9. },
  10. {
  11. "b": "比"
  12. }
  13. ]
  14. 3、console.log(JSON.stringify([{a: "诶"}, {b: "比"}],["a"]));
  15. 结果:
  16. [{"a":"诶"},{}]
  17. 4、var jsonText = JSON.stringify({
  18. a : "诶",
  19. b : "比"
  20. },jsonConvert);
  21. function jsonConvert(key, value) {
  22. switch (key) {
  23. case "a":
  24. return "A";
  25. case "b":
  26. return "B";
  27. default:
  28. return value;
  29. }
  30. }
  31. console.log(jsonText);
  32. 结果:
  33. {"a":"A","b":"B"}
  34. 5、有时候JSON.stringify()还是不能满足对某些对象进行自定义序列化的需求,在这些情况下,可以通过对象上调用toJSON()方法,返回其自身的JSON数据格式。
  35. 例如:console.log(JSON.stringify({a: "诶",b: "比",toJSON:function(){return "自定义"}});结果是返回"自定义".

JSON.parse(text, reviver)

text

要解析的字符串。

reviver

可选参数,是一个函数,用于过滤和转换结果,它接收每一对键值对并执行这个函数,记住,最后一定要加上return value。

例子

[html] view plaincopy
  1. 1、console.log(JSON.parse('{"a":"诶","b":"比"}'));
  2. 结果:
  3. Object { a="诶",  b="比"}
  4. 2、console.log(JSON.parse('{"a":"诶","b":"比"}',function(key,value){
  5. if(key=="a"){
  6. return "A";
  7. }else if(key=="b"){
  8. return "B";
  9. }
  10. return value;
  11. }));
  12. 结果:
  13. Object { a="A",  b="B"}

转载于:https://www.cnblogs.com/liuqiyun/p/8594898.html

jQuery插件-json2.js相关推荐

  1. 另外一款超棒的响应式布局jQuery插件 – Freetile.js

    在线演示 我们曾经介绍过俩款知名的响应式布局插:isotope和masonary,今天我们这里再介绍一款相当不错的响应式布局插件 – Freetile.js,使用它同样可以生成超酷的动态布局效果.相信 ...

  2. 帮助你在移动设备上生成倾斜控制(重力控制)的旋转效果jQuery插件 - lenticular.js...

    为什么80%的码农都做不了架构师?>>>    日期:2012-9-27  来源:GBin1.com 在线演示 相 信大家如果使用过iphone/ipad的话,肯定对于倾斜控制(重力 ...

  3. 帮助你生成超酷计时器和时钟效果的jQuery插件 - FlipClock.js

    为什么80%的码农都做不了架构师?>>>    日期:2013-6-6  来源:GBin1.com 在线演示 FlipClock.js 是一款功能强大并且支持自定义的时钟和计时器的j ...

  4. js特效 在服务器显示变形,使一行文字变形产生弯曲弧度特效的jQuery插件 - Arctext.js...

    CSS3可以帮助我们旋转字体,但是如果想让一行字体产生弧度曲线的效果,稍微有点儿费劲.今天分享一个jQuery插件:Arctext.js ,可以有效的帮助我们生成一行带有弧度的文字效果.它能够自动计算 ...

  5. html5 滚屏效果 插件,jQuery插件fullPage.js实现全屏滚动效果

    本文实例为大家分享了全屏滚动插件fullPage.js的具体使用方法,供大家参考,具体内容如下 0.01 基本演示  的HTML 布局 以及js 代码 //需要连接 连接的三个文件 //css文件 / ...

  6. jQuery插件stickup.js 源码解析初步

    这里只是一个初步的解析 stickup.js是一个简单的jQuery插件,源代码只有100多行,它能让页面目标元素 "固定" 在浏览器窗口的顶部,即便页面在滚动,目标元素仍然能出现 ...

  7. json序列化反序列化插件-json2.js 介绍和使用

    json2.js主要功能是做什么的? json2.js提供了json的序列化和反序列化方法,可以将一个json对象转换成json字符串,也可以将一个json字符串转换成一个json对象. json2. ...

  8. 浏览器中json的使用 与jquery无关 json2.js

    2019独角兽企业重金招聘Python工程师标准>>> 现代浏览器中提供了JSON.stringify()方法 将数组,对象转成json. JSON.stringify 把一个对象转 ...

  9. 10个用来处理键盘事件的JQuery插件和JS类库

    通常在web应用或者网站中,我们使用鼠标来控制元素或者执行导航,相对于桌面应用来说,使用web应用的快捷键次数可能会相对比较少,但是对于熟 练的专业人员来说,使用键盘可能更加容易并且更加快速,在今天这 ...

最新文章

  1. 【 Vivado 】使用工程模式
  2. LeetCode 36有效的数独37解数独(八皇后问题)
  3. STL容器底层数据结构的实现
  4. 单例嵌套 ios_嵌套类型的前5个用例
  5. php 随机钱数,PHP 仿微信红包金额随机
  6. linux 编程 调度,Linux的进程线程及调度
  7. LeetCode每日一题——剑指 Offer 10- I. 斐波那契数列
  8. POJ 3624 Charm Bracelet【01背包】
  9. python3.7.2安装教程不成功_centos 7.2更新python 3.7、3.5.2的过程及出错的解决方法
  10. 五、Matlab 画图——万能的plot函数
  11. vue项目的docker部署
  12. 数据结构课程设计【银行储蓄系统】
  13. css使两个盒子并列_盒子模型(重点)
  14. 思岚科技陈士凯:场景化应用或成服务机器人行业突破口
  15. python 复制并重命名文件_python 复制并重命名文件
  16. 转载 actor-critic的收敛性问题
  17. Java安全攻防之从wsProxy到AbstractTranslet
  18. 关于Pycharm第三方安装失败问题解决方法
  19. 前缀表达式/中缀表达式/后缀表达式
  20. DOS命令----百度百科

热门文章

  1. How to Visualize Your Recurrent Neural Network with Attention in Keras
  2. 两种AIDL用法分析(原)
  3. Smalidea+IntelliJ IDEA/Android Studio动态调试安卓app教程
  4. 注入安卓进程,并hook java世界的方法
  5. php伪静态教程,DedeCMS实现全站PHP伪静态
  6. JZOJ 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真
  7. JZOJ 5379. 【NOIP2017提高A组模拟9.21】Victor爱数字
  8. JZOJ 5236. 【NOIP2017模拟8.7A组】利普希茨
  9. qq地区采集_用户诉QQ浏览器违法收集个人隐私,法院裁定腾讯立即停止相关行为...
  10. iframe如何发送请求_插件分享 | 如何半天玩转一个“ES未授权利用”插件