1.什么是JSON?
JSON是用于存储和传输数据的格式。
JSON通常用于服务端向网页传递数据。
· JSON 英文全称JavaScript Object Notation
· JSON 是一种轻量级的数据交换格式。
· JSON是独立的语言*
· JSON 易于理解。
JSON格式在语法上与创建 JavaScript 对象代码是相同的。
由于它们很相似,所以 JavaScript 程序可以很容易的将 JSON 数据转换为 JavaScript 对象。
2.JSON的语法规则
· 数据为键/值对。
· 数据由逗号分隔。
· 大括号保存对象
· 方括号保存数组
JSON 数据 - 一个名称对应一个值
JSON数据格式为键/值对,就像 JavaScript 对象属性。
键/值对包括字段名称(在双引号中),后面一个冒号,然后是值:
"name":"baidu"
JSON 对象
JSON对象保存在大括号内。
就像在 JavaScript 中, 对象可以保存多个键/值对:
{"name":"baidu", "url":"www.baidu.com"}
JSON数组保存在中括号内。
就像在 JavaScript 中, 数组可以包含对象:
"sites":[ {"name":"baidu", "url":"www.baidu.com"}, {"name":"Google", "url":"www.google.com"}, {"name":"Taobao", "url":"www.taobao.com"} ]
在以上实例中,对象 "sites" 是一个数组,包含了三个对象。
每个对象为站点的信息(网站名和网站地址)。
相关函数
函数 |
描述 |
JSON.parse() |
用于将一个 JSON 字符串转换为 JavaScript 对象。 |
JSON.stringify() |
用于将 JavaScript 值转换为 JSON 字符串。 |
3.JS和JSON之间的数据转换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Title</title> </head> <body> <script type="text/javascript"> //定义一个js对象 var obj={ name: "宋子浩", age: 21, sex: "男" }; console.log(obj); //把js对象转化为json串 var json=JSON.stringify(obj); console.log(json); //把json串解析为js对象 var str=JSON.parse(json); console.log(str); //定义一个json串,把json串解析为js对象 var data='{"name":"宋子浩","age":21,"sex":"男"}'; console.log(JSON.parse(data)); </script> </body> </html>
3.2 实例二
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Title</title> </head> <body> <script type="text/javascript"> //定义一个js数组 var obj=[{ name: "小哥", age: 20, sex: "男" },{ name: "张起灵", age: 20, sex: "男" }]; console.log(obj); //把js数组转化为json串 var json=JSON.stringify(obj); console.log(json); //把json串解析为js数组 var str=JSON.parse(json); console.log(str); //定义一个json串,把json串解析为js数组 var data='[{"name":"小哥","age":20,"sex":"男"},{"name":"张起灵","age":20,"sex":"男"}]'; console.log(JSON.parse(data)); </script> </body> </html>