介绍
- JavaScript Object Notation, js对象标注法,是轻量级的数据交换格式
- 完全独立于编程语言文本
- 字符集必须用UTF-8格式,必须用“”
- 任何支持的数据类型都可以用JSON表示
- JS内内置JSON解析
- JSON本质就是字符串
Json对象和JS对象互相转化
- 前端数据传到后端
- 使用JSON.Stringify(),js对象转成JSON字符串
var obj = { name: '小明', age: 18 };
var str = JSON.stringify(obj);
console.log('JSON.stringify(obj):', str);
- 从后端拿到数据需要在前端使用
- 使用JSON.parse(),JSON字符串转为JS对象
var xm = '{"name":"小明","age":18}'; var obj1 = JSON.parse(xm); console.log('JSON.parse(xm):', obj1.name);

筛选对象的键值
- js对象json转为字符串,JSON.stringify()方法,有三个参数
- ①要转换的对象/数组
- ②数组/函数
- (若参数2为数组,则反转数组中的指定属性
- 若参数2为函数,则调用该函数并传入每个成员的键和值。)
- ③文本缩进、空格和换行符
var xm = {name: '小明',age: 18,class: '一班',phone: 1333333333,height:'1.8米'
}
var xm_json = JSON.stringify(xm,['name','class','height']);
console.log(xm_json)var xm_json2 = JSON.stringify(xm,name,6);
function name(key,value){if (value == '小明') { return '小华'; } else {return value; }
}
console.log(xm_json2)

传入函数处理json键值
- 从服务器接收到JSON值,想再用parse转成对象时进行的处理
- JSON.parse(),JSON字符串转为JS对象
- 有两个参数
var xm = `{"name": "小明","age": 18,"class": "一班","phone": 1333333333,"height": "1.8米"
}`;
var xm_obj = JSON.parse(xm,name);
function name(key,value){if (key == 'class') { return '六班'; } else {return value; }
}
console.log(xm_obj)
console.log(xm_obj.class)
