JSON是什么?
json就是一种【文本规范格式】,用于描述JavaScript(主要用于JavaScript,当然现在其他编程语言也开始大量使用JSON语言了)里的【对象】,也可以是说便于用字符串形式表示【树形结构】,简单来说就是一描述对象的“字符串”
JSON的语法:
1、对象由键值对形式表示
2、多个数据由对象隔开
3、属性名、函数名也得用字符串表示
4、对象用花括号{ }表示,数组用中括号[ ]表示
简单概括:跟JavaScript的对象语法基本一样,除了两点不同(1)字符串统一是双引号"",不能用单引号''表示;(2)属性名、函数名也得用字符串表示;
例子:
JavaScript的对象表示
let obj = {
name: 'xxx',
age: 18,
sex: '男',
phone: ['18957227501','18420229367']
}
变成JSON表示就是
(在【HTML文件的<JavaScript>】里写JSON文件要写成一行字符串:'{......}')
<script>
let obj = '{"name": "xxx","age": 18,"sex": "男","phone": ["18957227501","18420229367"]}'
</script>
(在【JSON文件】或者【JS文件】里写就不要最外层的单引号了'',直接换行、空格都没问题)
//在JSON文件里空格、换行不影响,只是更美观
{
"name": "xxx",
"age": 18,
"sex": "男",
"phone": ["18957227501","18420229367"]
}
基本没什么区别
JavaScript对象转化成JSON字符串形式
JSON.stringify()方法
例子:
<script>
//这是一个JavaScript对象
let obj = {
a: 'aaa',
b: 'bbb'
}
//设一个JSON变量,用JSON.stringify()方法将【对象变量】转化成【JSON字符串】
let json = JSON.stringify(obj)
console.log(json)
</script>
效果:
JSON字符串转化成JavaScript对象形式
JSON.parse()方法
例子:
<script>
//这是一个JSON字符串
let json = '{"a": "aaa","b": "bbb"}'
//设一个JS对象变量,用JSON.parse()方法将【JSON字符串】转化成【JS对象】
let obj = JSON.parse(json)
console.log(obj)
//或者这样一样
console.log( JSON.parse('{"a": "aaa","b": "bbb"}') )
</script>
效果: