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