JavaScript——JSON对象
一、JSON是什么?
JSON(JavaScript Obiect Notation),JS对象表示法,是一种轻量级的数据交换格式,使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台,可以被任何编程语言读取以及作为数据格式传递。是目前服务端与客户端交换数据中使用最为广泛的标准格式
二、JSON的语法规则
(1)数组(Array)用方括号([])表示。
(2)对象(Object)用大括号({})表示。
(3)名称/值对(name/value)之间用冒号(:)隔开。
(4)名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
(5)并列的数据之间用逗号(,)分隔。
三、JS对象
1.创建JS对象
//外层使用花括号{}包裹
//key:value 键值对格式
//逗号分隔
//值类型可以是常用的number、string、boolean、object、null
var table = {
height:100,
width:50,
len:80,
color:'white',
}
2.访问、赋值
2.1两种方式访问
//第一种
table.height
//第二种
table['height']
2.2可以先声明、再赋值
var table = {}
table.height = 100
2.3[]方式访问可以使用变量
var x = 'height'
table[x] = 100
3.JS对象与JSON
JS对象不等于JSON
JSON只是一种使用JS对象格式的数据,并不是具体的实例对象,是跨平台跨语言传输数据的一种载体,不仅仅限于JS
JSON
{
"brand":"苹果",
"price":6799,
"supportDualSIM":true,
"supportNetwork":["5G","4G","3G","2G"]
}
JS对象
var iphone12 = {
brand:"苹果",
price:6799,
supportDualSIM:true,
supportNetwork:["5G","4G","3G","2G"],
}
含义 | 一种数据格式 | 表示类的实例 |
---|---|---|
传输 | 可以跨平台、跨语言传输 | 不能传输 |
格式 | 1.键值对方式,key必须加双引号 2.值不能是方法函数、undefined、NaN | 1.键值对方式,key不需要加引号 2.值可以是函数、对象、字符串、数字等 |
4.JSON格式
JSON一般有两种格式
(1)对象格式
{
"brand":"苹果",
"price":6799,
"supportDualSIM":true,
"supportNetwork":["5G","4G","3G","2G"]
}
(2)数组对象格式
[
{
model:'iphone12',
brand:'苹果',
price:6799,
supportDualSIM:true,
supportNetwork:['5G','4G','3G','2G']
},
{
model:'Mate X2',
brand:'苹果',
price:6799,
supportDualSIM:true,
supportNetwork:['5G','4G','3G','2G']
}
]
5.JS对象与JSON转换
(1)JSON.stringify() 将JS对象转换为可传输的JSON格式
JSON.stringify({id:1,name:'Alice'})
(2)JSON.parse() 将JSON字符串转换为JS对象
var str = '{"id":1,"name":"Alice"}'
var obj = JSON.parse(str)
6.JSON遍历
可以使用for…in来对JSON进行遍历
var obj = {
model:'iphone12',
brand:'苹果',
price:6799,
supportDualSIM:true,
supportNetwork:['5G','4G','3G','2G'],
}
for (var i in obj){
console.log(i)
}