介绍
- 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)
