什么是JSON
JSON(JavaScript Object Notation), JS对象表示法,是一种轻量级的数据交换格式
使用JavaScript语法来描述数据对象,但是 JSON 仍然独立于语言和平台,可以被任何编程语言读取以及作为数据格式传递。是目前服务端与客户端交换数据中使用最为广泛的标准格式
相比其他数据交换格式,JSON有如下优势:
- JS传递数据速度快
- JS泛用性更高
- JS在服务器上解析
相对的,JSON的劣势如下:
- JS的安全性不强
- JS没有错误处理
- JS支持的工具并不多
JS对象
什么是对象
对象一般指我们解决问题所需要研究的目标,我们将需要研究的部分提炼成属性,并使用对象方便的调用查看。
创建JS对象
- 外层适用花括号{}包裹
- key:value 键值对格式
- 逗号分割
- 值类型可以是常用的number、string、boolean、object、null
var table = {
height:100,
width:50,
len:80,
color:'white',
}
复杂JS对象
JS复杂对象主要分为三种
1、属性为对象
var person{
man:{
sex:'man'
}
woman:{
sex:'woman'
}
}
//访问格式:person.woman.sex
2、属性为数组
var date{
number:[1,4,2,74,3],
String:['fxg','wsr','zs']
}
//访问格式:date.String[0]
3、属性为函数
var date={
show:function(){
console.log('show date');
}
}
//访问方法:date.show()
JS与JSON
JS对象与JSON
首先我们得明白一件事:JS对象不等于JSON
JSON只是一种使用JS对象格式的数据,并不是具体的实例对象,是跨平台传输数据的一种格式,并不仅仅局限于JS一种语言。
JSON | JS | |
---|---|---|
含义 | 一种数据格式 | 表示类的示例 |
传输 | 可以跨平台、跨语言传输 | 不能传输 |
格式 | 键值对方式,key必须加双引号。值不能是方法函数、undefined、NaN | 键值对方式、key不需要加引号。且值可以试函数、对象、字符串、数组等 |
JS对象与JSON转换
JS对象与JSON转换主要有两种转换方式
1、使用JSON.stringify()函数,将JS对象转换为JSON格式
JSON.stringify({id:1,name:'Tom'})
2、使用JSON.parse(),将JSON字符串转换为JS对象
var str='{"id":1,"name":'Tom'}'
var obj=JSON.parse(str)