一、什么是JSON?
JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法,类似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
JSON 具有自我描述性,更易理解
具体json实例
{
"nickname": "李昊哲",
"hobby": [
"游泳",
"健身",
"爬山"
],
"wife": {
"nickname": "大美丽",
"gender": "0"
},
"gril_friends": [
{
"nickname": "大美丽",
"gender": "0"
},
{
"nickname": "小美丽",
"gender": "0"
}
]
}
二、JSON与XML的区别
(1)、相同之处
- JSON 是纯文本
- JSON 具有"自我描述性"(人类可读)
- JSON 具有层级结构(值中存在值)
- JSON 可通过 JavaScript 进行解析
- JSON 数据可使用 AJAX 进行传输
(2)不同之处
- 没有结束标签
- 更短
- 读写的速度更快
- 能够使用内建的 JavaScript eval() 方法进行解析
- 使用数组
- 不使用保留字
三、JSON语法规则
1、JSON 数据的书写格式是:key: value; key是名称,value是值
{"name":"CSDN";}
2、JSON 对象在大括号 {} 中书写 :
{key1 : value1, key2 : value2, ... keyN : valueN }
3、JSON 值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在中括号中)、对象(在大括号中)、null
(1)数字(整数或浮点数)
{"age":18,
"height":178.5,
}
(2)数组
{"hobby": [
"游泳",
"健身",
"爬山"
],
}
(3)逻辑值(true 或 false)
{ "flag":true }
(4)JSON 可以设置 null 值:
{ "runoob":null }
四、什么是JSON.parse()
JSON 通常用于与服务端交换数据。
在接收服务器数据时一般是字符串。
我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象,就是将字符串转成对象
<script>
let obj='{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }';
let result=JSON.parse(obj);
console.log(result);
</script>
五、什么是JSON.stringify()
JSON 通常用于与服务端交换数据。
在向服务器发送数据时一般是字符串。
我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
<script>
let person = {
nickname: "李昊哲",
age: 39,
gender: 1,
};
console.log(person);
// JSON.stringify(对象名) 返回值为该对象的json格式字符串
let json_text = JSON.stringify(person);
console.log(json_text);
</script>