参考网站:json中国,MDN json

一、必知基础
    JSON 是JavaScript对象文字符号的一个子集,它可以自如的在JavaScript中使用.
看下这个对象:

var myJSONObject = {
  "bind": [
  {"id": "1", "name": "kobe", "psw": "Bryant"},
  {"id": "2", "name": "Jordan", "psw": "MJ"},
  {"id": "3", "name": "James", "psw": "Lebrown"}
  ]
};

同样的,{}叫对象,[]叫数组, bind,id,name,psw我们叫成员

二、成员怎么访问
    json完全符合js的语法,因为直接用js对象的访问方法,也即是点号(.),或下标[""]方式
比如访问kobe,那么直接用myJSONObject.bind[0].name即可
 
三、符合json格式的字符串转换成json对象
   1、一般使用eval()函数,至于网上提到的安全问题,对于我来说,暂时还没遇到需要考虑的安全问题.方法:var jsonObj = eval('(' + myJSONtext + ')'); 
   2、json解析器,比eval更快,由浏览器支持(只要不是很老的浏览器都支持)
    方法:var jsonObj = JSON.parse(jsonText);
    提示:该方法要注意解析时jsonText末尾不要加逗号(,)

   3、Function函数,这种方法就不要用了,做开发就是要用新的效率和知名度更高的。最常用的就上面2种
 
四、js值序列化为json字符串
方法:JSON.stringify();
注意:
1、非数组对象不能保证以特定的顺序转到序列化后的json字符串中
  eg: JSON.stringify({x:5,y:6});结果为'{"x":5,"y":6}'或'{"y":6,"x":5}'都有可能
2、布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值。

JSON.stringify({});      // '{}'
JSON.stringify(true); // 'true'
JSON.stringify("foo"); // '"foo"'
JSON.stringify([1, "false", false]); // '[1,"false",false]'
JSON.stringify({ x: 5 }); // '{"x":5}'

3、undefined在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)

JSON.stringify({x: undefined, y: Object, z: Symbol("")});// '{}'
JSON.stringify([undefined, Object, Symbol("")]); // '[null,null,null]'

最新文章

  1. Python:Pycharm下无法导入安装好的第三方模块?
  2. 错误:Implicit super constructor xx() is undefined for default constructor. Must define an explicit constructor
  3. hdu 1032
  4. Smart210学习记录-----Linux i2c驱动
  5. Linux:Shell 常用通配符
  6. JVM ,JIT ,GC RUNTIME 解析
  7. Linux命令(20)查看当前网速
  8. [Hibernate] List 映射例子
  9. hdu 2106
  10. 获取Json对象的长度或计数
  11. android入门——Service
  12. Java集成开发环境--Eclipse for J2EE配置JRE运行环境
  13. 【Machine Learning in Action --3】决策树ID3算法预测隐形眼睛类型
  14. [Android FrameWork 6.0源码学习] View的重绘过程之Layout
  15. HDU 4960 Another OCD Patient(记忆化搜索)
  16. Storm保证消息处理
  17. 虚拟机工作站创建虚拟机并安装Linux教程
  18. lsblk
  19. 在 Vue 结合 Axios 使用过程 中 post 方法,后台无法接受到数据问题
  20. python txt文件数据转excel

热门文章

  1. java动态代理--proxy&cglib
  2. URLSearchParams接口用来处理浏览器的url
  3. ps切图的基本操作
  4. javascript基础总结之实例(一)
  5. CodeForces1249B1/B2-Books Exchange-dfs-一般搜索+记忆化搜索
  6. SimpleDateFormat日期格式
  7. POJ 4718 /// 树链剖分+线段树区间合并 求树上两点间的LCIS长度
  8. 22个Photoshop网页设计教程网站推荐
  9. String 字符串对象
  10. 【第三周读书笔记】浅谈node.js中的异步回调和用js-xlsx操作Excel表格