JSON 对象
1. 什么是 JSON ?
JSON
全称是 JavaScript Object Notation
,即 JavaScript
对象标记法
JSON
是一种轻量级(Light-Meight)、基于文本的(Text-Based)、可读的(Human-Readable)格式
JSON
是存储和交换文本信息的语法,类似 XML
,JSON
比 XML
更小、更快,更易解析
JavaScript
能够使用内建的 eval()
函数,用 JSON
数据来生成原生的 JavaScript
对象
{
"sites": [
{
"name":"林俊杰" , "url":"她说" },
{
"name":"周杰伦" , "url":"晴天" },
{
"name":"邓紫棋" , "url":"泡沫" }
]
}
2. JSON 语法
- 数组(Array)用方括号
"[]"
表示 - 对象(0bject)用大括号
"{}"
表示 - 名称 / 值对(
name/value
)组合成数组和对象 - 名称(
name
)置于双引号中,值(value
)有字符串、数值、布尔值、null
、对象和数组 - 并列的数据之间用逗号
","
分隔 - 名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值
JSON
不支持注释。向 JSON
添加注释无效
JSON
文件的文件类型是 .json
JSON
文本的 MIME
类型是 application/json
<script type="application/json"></script>
let options = {
"age": 30,
"name": "JSON学习",
"url": "www.runoob.com",
"sites": [
{
"name":"林俊杰" , "url":"她说" },
{
"name":"周杰伦" , "url":"晴天" },
{
"name":"邓紫棋" , "url":"泡沫" }
],
"flag": true,
"runoob": null
}
// JSON 可以直接使用现有的 JavaScript 对象解析
console.log(options.name);
3. JSON 和 XML
-
JSON
和XML
都用于接收web
服务端的数据,JSON
和XML
在写法上有所不同 -
JSON
没有结束标签,长度更短,读写更快,JSON
可以直接使用现有的JavaScript
对象解析,可以使用数组
// json
{
"name": "jsx",
"age": 22,
"fruits": ["apple", "pear", "grape"]
}
// xml
<root>
<name>jsx</name>
<age>22</age>
<fruits>apple</fruits>
<fruits>pear</fruits>
<fruits>grape</fruits>