JSON
JSON是JavaScript Object Notation的缩写,它是一种数据交换格式。
在JSON中,一共就一下几种数据类型:
- number:和JavaScript的
number
完全一致; - boolean:就是JavaScript的
true
或false
; - string:就是JavaScript的
string
; - null:就是JavaScript的
null
; - array:就是JavaScript的
Array
表示方式——[]
; - object:就是JavaScript的
{ ... }
表示方式。
上面的数据可以任意嵌套和组合。
由于JSON非常简单,很快就风靡Web世界,并且成为ECMA标准。几乎所有编程语言都有解析JSON的库,而在JavaScript中,我们可以直接使用JSON,因为JavaScript内置了JSON的解析。
把任何JavaScript对象变成JSON,就是把这个对象序列化成一个JSON格式的字符串,这样才能够通过网络传递给其他计算机。
如果我们收到一个JSON格式的字符串,只需要把它反序列化成一个JavaScript对象,就可以在JavaScript中直接使用这个对象了。
1,序列化
JSON序列化是指,将JavaScript中的对象转换为JSON格式的字符串。
例如我们在数据库中查询到了一个人的信息,需要把这个信息通过网络传递到前台的App进行显示,这时,我们需要将此对象进行JSON序列化,转换成JSON字符串才能进行传输。
const person = {
name:'Tom',
age:10,
tel:'18612341234'
}
//JSON序列化使用JavaScript语言中自带的JSON解析器的stringify方法
const jsonData = JSON.stringify(person);
console.log(jsonData);//字符串:'{"name":"Tom","age":11,"tel":'1861234123'}'
2,反序列化
JSON反序列化也叫JSON解析。
拿到一个JSON格式的字符串,我们直接用JSON.parse()
把它变成一个JavaScript对象。
一般来说,JSON格式的字符串都是通过网络请求获取
在此,我们为了测试JSON反序列化的功能,手写一个本地的JSON格式字符串。
const jsonData = '{"name":"Tom","age":11,"tel":18612341234}';
const person = JSON.parse(jsonData);
console.log(person.name);//结果为Tom