JSON 入门教程基础篇 json入门学习笔记
JSON:JavaScriptObjectNotation(JavaScript对象表示法)
JSON是存储和交换文本信息的语法。类似XML。
JSON比XML更小、更快,更易解析。
JSON实例
{ "sites":[ {"name":"毛票票","url":"www.nhooo.com"}, {"name":"google","url":"www.google.com"}, {"name":"微博","url":"www.weibo.com"} ] }
这个sites对象是包含3个站点记录(对象)的数组。
什么是JSON?
JSON指的是JavaScript对象表示法(JavaScriptObjectNotation)
JSON是轻量级的文本数据交换格式
JSON独立于语言:JSON使用Javascript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
JSON具有自我描述性,更易理解
JSON-转换为JavaScript对象
JSON文本格式在语法上与创建JavaScript对象的代码相同。
由于这种相似性,无需解析器,JavaScript程序能够使用内建的eval()函数,用JSON数据来生成原生的JavaScript对象。
在线实例
通过我们的编辑器,您可以在线编辑JavaScript代码,然后通过点击一个按钮来查看结果:
毛票票(jb51.net) JavaScript创建JSON对象
网站名称:
网站地址:
网站slogan:
与XML相同之处
JSON是纯文本
JSON具有"自我描述性"(人类可读)
JSON具有层级结构(值中存在值)
JSON可通过JavaScript进行解析
JSON数据可使用AJAX进行传输
与XML不同之处
没有结束标签
更短
读写的速度更快
能够使用内建的JavaScripteval()方法进行解析
使用数组
不使用保留字
为什么使用JSON?
对于AJAX应用程序来说,JSON比XML更快更易使用:
使用XML
读取XML文档
使用XMLDOM来循环遍历文档
读取值并存储在变量中
使用JSON
读取JSON字符串
用eval()处理JSON字符串
JSON语法
JSON语法是JavaScript语法的子集。
JSON语法规则
JSON语法是JavaScript对象表示语法的子集。
数据在名称/值对中
数据由逗号分隔
大括号保存对象
中括号保存数组
JSON名称/值对
JSON数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"name":"毛票票"
这很容易理解,等价于这条JavaScript语句:
name="毛票票"
JSON值
JSON值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true或false)
数组(在中括号中)
对象(在大括号中)
null
JSON数字
JSON数字可以是整型或者浮点型:
{"age":30}
JSON对象
JSON对象在大括号({})中书写:
对象可以包含多个名称/值对:
{"name":"毛票票","url":"www.nhooo.com"}
这一点也容易理解,与这条JavaScript语句等价:
name="毛票票"
url="www.nhooo.com"
JSON数组
JSON数组在中括号中书写:
数组可包含多个对象:
{
"sites":[
{"name":"毛票票","url":"www.nhooo.com"},
{"name":"google","url":"www.google.com"},
{"name":"微博","url":"www.weibo.com"}
]
}
在上面的例子中,对象"sites"是包含三个对象的数组。每个对象代表一条关于某个网站(name、url)的记录。
JSON布尔值
JSON布尔值可以是true或者false:
{"flag":true}
JSONnull
JSON可以设置null值:
{"jb51":null}
JSON使用JavaScript语法
因为JSON使用JavaScript语法,所以无需额外的软件就能处理JavaScript中的JSON。
通过JavaScript,您可以创建一个对象数组,并像这样进行赋值:
varsites=[
{"name":"jb51","url":"www.jb51.com"},
{"name":"google","url":"www.google.com"},
{"name":"微博","url":"www.weibo.com"}
];
可以像这样访问JavaScript对象数组中的第一项(索引从0开始):
sites[0].name;
返回的内容是:
jb51
可以像这样修改数据:
sites[0].name="毛票票";
毛票票(jb51.com) JavaScript创建JSON对象
第一个网站名称:
第一个网站修改后的名称:
在下面的章节,您将学到如何把JSON文本转换为JavaScript对象。
JSON文件
JSON文件的文件类型是".json"
JSON文本的MIME类型是"application/json"
JSONvsXML
JSON和XML都用于接收web服务端的数据。
JSON和XML在写法上有所不同,如下所示:
JSON实例
{
"sites":[
{"name":"毛票票","url":"www.jb51.com"},
{"name":"google","url":"www.google.com"},
{"name":"微博","url":"www.weibo.com"}
]
}
XML实例
毛票票 www.jb51.com www.google.com 微博 www.weibo.com
JSON与XML的相同之处:
JSON和XML数据都是"自我描述",都易于理解。
JSON和XML数据都是有层次的结构
JSON和XML数据可以被大多数编程语言使用
JSON与XML的不同之处:
JSON不需要结束标签
JSON更加简短
JSON读写速度更快
JSON可以使用数组
最大的不同是:XML需要使用XML解析器来解析,JSON可以使用标准的JavaScript函数来解析。
JSON.parse():将一个JSON字符串转换为JavaScript对象。
JSON.stringify():于将JavaScript值转换为JSON字符串。
为什么JSON比XML更好?
XML比JSON更难解析。
JSON可以直接使用现有的JavaScript对象解析。
针对AJAX应用,JSON比XML数据加载更快,而且更简单:
使用XML
获取XML文档
使用XMLDOM迭代循环文档
接数据解析出来复制给变量
使用JSON
获取JSON字符串
JSON.Parse解析JSON字符串