一.什么是JSON?
概念:JSON就是JavaScript对象和数组的字符串表示法,JSON的本质就是字符串
作用:JSON是一种轻量级的文本数据交互格式。
二.JSON的两种结构
1.对象结构:对象结构在JSON中表示{}括起来的内容,数据结构{key:value,key:value,...}的键值对
结构。其中key必须使用因为的双引号包裹的字符串,value的数据类型可以是数字,字符串,布尔值,null,数组,对象6种类型。
2.数组结构:数组结构在JSON中表示[]起来的内容,数据结构为["java","javascrpit"],数据中的数据类型可以是数字,字符串,布尔值,null,数组,对象6种类型
三.JSON语法的注意事项
1.属性名必须使用双引号包裹
2.字符串类型的值必须使用双引号包裹
3.JSON中不允许使用单引号表示字符串
4.JSON中不能写注释
5.JSON的最外层必须是对象或数组格式
6.不能使用underfeind 或函数作为JSON的值
作用:在计算机与网络之间存储和传输数据
四.转化的方法
1.JSON.parse()方法将JSON字符串转换为js对象。
var str = '{"name":"张三","age":20}'
var obj = JSON.parse(str);
console.log(obj);
转换后的js对象:
2. JSON.stringify()方法将JS对象转换为JSON字符串。
var obj = {
zs: '张三',
age: 20
}
var str = JSON.stringify(obj);
console.log(str);
五.应用的场景
通过AJax发送请求回来的数据需要通过JSON.parse()转化为js对象
<button>发送get请求</button>
<script>
var btn = document.querySelector('button')
btn.onclick = function () {
// alert('1z')
var xhr = new XMLHttpRequest()
xhr.open('Get', 'http://www.liulongbin.top:3006/api/getbooks')
xhr.send()
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText)
}
}
}
得到的是:一个JSON字符串
通过JSON.parse(xhr.responseText) 转化过后的数据是一个js对象
双击666