JSON介绍
什么是JSON
JSON 是一种存储和交换数据的语法。
json本质就是字符串, json数据 是用在 语言 里面使用的, ( 语言有java,c#,js )
json对象:的意思就是一组键值对的数据对象,在JavaScript里面就是JavaScript的对象,在c#(控制器就叫c#写法),java里面就是java的json对象(类/VO),不止JavaScript里面有json,c#控制器也会用json
- JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
- JSON 是轻量级的文本数据交换格式
- JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
- JSON 具有自我描述性,更易理解
JSON语法格式
JSON 的语法规则十分简单,可称得上“优雅完美”,总结起来有:
数组(Array)用方括号(“[]”)表示。
对象(0bject)用大括号(“{}”)表示。
名称/值对(name/value)组合成数组和对象。
名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
并列的数据之间用逗号(“,”)分隔
例如用XML写的代码
<?xml version="1.0" encoding="utf-8" ?>
<country>
<name>中国</name>
<province>
<name>山东</name>
<citys>
<city>青岛</city>
<city>临沂</city>
</citys>
</province>
<province>
<name>广东</name>
<citys>
<city>广州</city>
<city>深圳</city>
<city>珠海</city>
</citys>
</province>
<province>
<name>湖北</name>
<citys>
<city>武汉</city>
<city>黄冈</city>
</citys>
</province>
</country>
换成JSON后
var country =
{undefined
name: "中国",
provinces: [
{ name: "山东", citys: { city: ["青岛", "临沂"]} },
{ name: "广东", citys: { city: ["广州", "深圳", "珠海"]} },
{ name: "湖北", citys: { city: ["武汉", "黄冈"]} }
]
}
JSON
{
"sites": [
{ "name":"菜鸟教程" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
}
JSON与XML
JSON常被拿来与XML做比较,因为JSON 的诞生本来就多多少少要有取代XNL的意思。相比 XML,JSON的优势如下:
- 没有结束标签,长度更短,读写更快
- 能够直接被JavaScript解释器解析
- 可以使用数组
JSON的解析与生成
JSON.parse
JSON字符串
<script>
var str = '{"name": "兮动人","age":22}';
var obj = JSON.parse(str);
console.log(obj);
</script>
JSON.stringify
JS对象转成JSON字符串
<script>
var str = '{"name": "兮动人","age":22}';
var obj = JSON.parse(str);
console.log(obj);
var jsonstr = JSON.stringify(obj);
console.log(jsonstr);
</script>