json格式
json 格式:
+ 是一种固定的字符串格式
=> 'afflkjljafoij' 普通字符串
=> '1334567886554' 纯数字字符串
=> '<h1>hello world</h1>' html 格式字符串
=> json 也是一种字符串的格式,和普通字符串本质上没有区别
-> 只是多了一些固定格式
+ 作用
=> 在电脑网络传输的过程中(前后端传递)
=> 只能传递字符串,别的不可以
=> 传递不了对象和数组数据类型
=> 如果你想传递数组或者对象,那么需要转换成字符串的格式传递
=> json 格式就是满足对象和数组数据结构的一种字符串
+ 用法
=> 两个方法
1. JSON.parse()
-> 把 json 格式的字符串转换成 JS 的数组或者对象
-> 语法: JSON.parse(要转换的 json 格式字符串)
-> 返回值:JS格式的数组或对象
2.JSON.stringify()
-> 把 JS 的数组或者对象转换成 json 格式的字符串
-> 语法: JSON.stringify(要转换的数组或对象)
-> 返回值: json 格式字符串
+ json 数据格式(重点!)
1. 描述数组或者对象数据类型
-> 'h' 不是 json 数据格式
-> '[]' 是
-> '{}' 是
2. 对象中的 key 和 value 都使用 双引号包裹!
-> 数字和布尔可以不需要
3. 数组里面可以放多个对象
4. 当多个数据的时候,最后一个数据后面不能有逗号
5. 一个 json 格式中,可以使用的符号,只有 {}, [], '', 逗号
6. 转换 json 格式字符串的时候,函数会被自动过滤
扩展: 报错信息
=> Uncaught SyntaxError: Unexpected token n in JSON at position 0
=> 你必然执行了一段代码, JSON.parse(xxx)
-> 你的 xxx 不是一个 json 格式的字符串(不符合 json 格式)
1. JSON.parse()
var jsonStr = '{ "name": "Jack", "age": 19, "gender": "男"}';
var obj = JSON.parse(jsonStr);
console.log(obj);
2. JSON.stringify()
var obj = {
name: 'Jack', age: 18, gender: '男', fn: function(){
}};
var jsonStr = JSON.stringify(obj);
console.log(jsonStr);
var arr = [{
name: 'tom'}, {
name: 'jerry'}, {
name: 'mickey'}];
var jsonStr = JSON.stringify(arr);
console.log(jsonStr);
小案例
var</