JSON数据交换格式
一、JSON介绍
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript语言的一个子集
二、JSON语法
语法规则
json对象是一个无序的“‘名称/值’对”集合。一个对象以 {左括号 开始, }右括号 结束。每个“名称”后跟一个 :冒号 ;“‘名称/值’ 对”之间使用 ,逗号 分隔。
{“名称1”:“值1”,“名称2”:“值2”}
JSON值
JSON值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true或false)
- 数组(在中括号中)
- 对象(在大括号中)
- null
数组值
-
数组是值(value)的有序集合。一个数组以 [左中括号 开始, ]右中括号 结束。值之间使用 ,逗号 分隔。
["列表1","列表2"] [25,24] [{"key":"value"},{"key":"value"}]
三、JSON对象
-
对象语法
{"name":"jack","sex":"男","site":null}
-
访问对象值
let myObj,x myObj = {"name":"jack","sex":"男","site":null} x = myObj.name
-
循环对象
let myObj = {"name":"jack","sex":"男","site":null} for (x in myObj){ document.getElementById("demo").innerHTML += x + "<br>" }
-
嵌套JSON对象
myObj = { "name":"jack", "sex":"男", "sites":{ "site1":"www.jd.com", "site2":"www.taobao.com", "site3":"www.baidu.com" } }
-
修改值
myObj.sites.site1 = "www.google.com"
四、JSON字符串
-
JSON字符串是一种特殊的字符串,按照JSON格式组织的字符串
-
var jsonObj = '{ "name": "Jack", "age": 18, "gender": "男" }' var jsonArr = '[{ "name": "Jack", "age": 18, "gender": "男" }, { "name": "Jack", "age": 18, "gender": "男" }, { "name": "Jack", "age": 18, "gender": "男" }]'
-
💛 引号包裹的字符串(必须是双引号)
五、JSON两个方法(JSON对象与JSON字符串之间的转换)
-
JSON.parse()
- JSON通常用于与客户端与服务端交换数据
- 在接收服务器数据时一般是字符串
- 我们可以使用
JSON.parse()
方法将数据转换为JavaScript对象
语法
JSON.parse(text)
- text 必须是一个有效的JSON字符串
JSON字符串转对象
//JSON格式字符串 let str = '{"name":"jack","sex":"男","site":"www.jd.com"}' let obj = JSON.parse(str) obj.name
-
JSON.stringify()
-
JSON通常用于与客户端与服务端交换数据
-
在接收服务器数据时一般是字符串
-
我们可以使用
JSON.stringify()
方法将JavaScript对象转换为字符串JavaScript对象转换
let obj = {"name":"jack","sex":"男","site":"www.jd.com"} //我们使用JSON.stringify()方法,转换成字符串 let str = JSON.stringify(obj) //str为字符串 //我们可以将str发送到服务器 document.getElementById("demo").innerHTML = str
-
六、JSON作用
- 客户端与服务器端通讯
JSON对象不能再客户端与服务器端传输,需要转换成JSON字符串,接受后在转为JSON对象处理
- 本地对象存储
JSON对象存储到本地如localstorage
对象中是,必须先转成JSON字符串,使用时,在转换成JSON对象