飞道科技

飞道科技文档总汇

JSON

介绍

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

摘自百度百科

发音

正确的发音为计诶斯恩

误解

json=js对象

不少人实际上并没有搞清楚json和js对象的差别。其实记住一条就行:json只是一个字符串

json={}

也有不少人对json有误解,认为json只能转换为带花括号的键值对,至少最外层必须是。事实上,json几乎可以是任何js类型,包括:

  1. Object
  2. Array
  3. string
  4. number
  5. boolean

其中,Object和Array是最常用的两种类型

以下两种类型(如果你认为这是两种类型的话)是不能在json中被使用的,注意,这里并非指的是jsObject的值类型,而是整个js对象的值。

  1. undefined
  2. NaN

转换方法

js对象 => json

JSON.stringify({});
JSON.stringify([]);
JSON.stringify("abc");
JSON.stringify(123);
JSON.stringify(true);

json => js对象

JSON.parse("{}");
JSON.parse("[]");
JSON.parse("\"abc\"");
JSON.parse("123");
JSON.parse("true");

提示

  1. 千万不要以为json和js对象的转换很简单,自作聪明去拼字符串。
  2. 千万不要使用eval替换JSON.parse

工具

有时候我们为了查看一个json的格式,需要用到一些工具。比如在windows上的xmlspy,对于开发人员来说,几乎任意一款编辑器都可以方便地格式化json,像vscode,对json可以很方便地格式化。

如果这些你都没有怎么办?只要有网络,网上在线解析json的网站一搜一大把。如果你的电脑上不了网怎么办?借助浏览器开发工具,相信多数人都会使用浏览器的吧,不管你上不上网,基本都会有,比如谷歌或是基于chrome内核的一些国产浏览器如qq浏览器,360浏览器等,都可以找到开发工具并打开,在控制台将字符串粘进去回车,就可以看到格式化好的对象了,是不是很方便?

json vs xml

不用比,适合你的就是最好的,打架没必要,世人自有公论,真想了解的话,到这里找