JSON是JavaScript语法的子集。
关于JSON,最重要的是要理解它是一种数据格式。
而JavaScript字符串和JSON字符串最大的区别是,JSON字符串必须使用双引号。
以一个例子看一下JSON对象和JavaScript对象的不同:
var test = {
name : "Leo",
sex : "male"
};
var jsonText = JSON.stringify(test);
然后,我们试图遍历一下JavaScript对象test和JSON对象jsonText:
for(let item in test) {
console.log(item);
}
输出为:
name
sex
for(let item in jsonText) {
console.log(item);
}
输出为:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
之所以会这样,是因为我把 jsonText当做对象去遍历了,而其实它是JSON字符串。
var jsonText = JSON.stringify(test);
这句就是,把一个JavaScript对象序列化为一个JSON字符串。
所以,可以说,JavaScript对象和JSON对象没有区别,区别是JSON字符串和JavaScript对象。