多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > htmlcss > json相關(guān)知識介紹

json相關(guān)知識介紹

來源:程序員人生   發(fā)布時間:2017-02-09 08:39:06 閱讀次數(shù):4531次

原文來自搬磚工,如需轉(zhuǎn)載請注明出處


現(xiàn)在愈來愈流行使用json作為進(jìn)行數(shù)據(jù)傳輸格式,今天我們就總結(jié)1下json的相干知識


1、甚么是json
1.json 指的是 JavaScript 對象表示法(JavaScript Object Notation
2.json 是輕量級的文本數(shù)據(jù)交換格式
3.json 獨立于語言*
4.json 具有自我描寫性,更容易理解
:json 使用 Javascript語法來描寫數(shù)據(jù)對象,但是 json 依然獨立于語言和平臺。json 解析器和 json 庫支持許多不同的編程語言。 目前非常多的動態(tài)(PHP,JSP,.NET)編程語言都支持json。

2、json與js的關(guān)系
json 文本格式在語法上與創(chuàng)建 JavaScript 對象的代碼相同。由于這類相似性,無需解析器,JavaScript 程序能夠使用內(nèi)建的 eval() 函數(shù),用 json 數(shù)據(jù)來生成原生的 JavaScript 對象。

3、與XML比較
相同點
1.json 是純文本
2.json 具有”自我描寫性”(人類可讀)
3.json 具有層級結(jié)構(gòu)(值中存在值)
4.json 可通過 JavaScript 進(jìn)行解析
5.json 數(shù)據(jù)可以使用 AJAX 進(jìn)行傳輸
不同點
1.沒有結(jié)束標(biāo)簽
2.更短
3.讀寫的速度更快
4.能夠使用內(nèi)建的 JavaScript eval() 方法進(jìn)行解析
5.使用數(shù)組
6.不使用保存字

4、為何使用 json?
對 AJAX 利用程序來講,json 比 XML 更快更容易使用:
使用 XML
1.讀取 XML 文檔
2.使用 XML DOM 來循環(huán)遍歷文檔
3.讀取值并存儲在變量中
使用 json
1.讀取 json 字符串
2.用 eval() 處理 json 字符串

5、json語法
1.json語法規(guī)則

json 語法是 JavaScript 對象表示法語法的子集。規(guī)則以下
a.數(shù)據(jù)在名稱/值對中
b.數(shù)據(jù)由逗號分隔
c.花括號保存對象
d.方括號保存數(shù)組
2.json名稱/值對
json 數(shù)據(jù)的書寫格式是:名稱/值對。
名稱/值對包括字段名稱(在雙引號中),后面寫1個冒號,然后是值:
"name" : "搬磚工"
這很容易理解,等價于這條 JavaScript 語句:
name = "搬磚工"
3.json值
json 值可以是:
a.數(shù)字(整數(shù)或浮點數(shù))
b.字符串(在雙引號中)
c.邏輯值(true 或 false)
d.數(shù)組(在方括號中)
e.對象(在花括號中)
f.null
4.json對象
SON 對象在花括號中書寫:
對象可以包括多個名稱/值對:
{ "name":"搬磚工" , "url":"www.banzg.com" }
這1點也容易理解,與這條 JavaScript 語句等價:
name = "搬磚工"
url = "www.banzg.com"
5.json數(shù)組
json 數(shù)組在方括號中書寫:
數(shù)組可包括多個對象:
{
"sites": [
{ "name":"搬磚工" , "url":"www.banzg.com" }, 
{ "name":"google" , "url":"www.google.com" }, 
{ "name":"百度" , "url":"www.baidu.com" }
]
}
在上面的例子中,對象 “sites” 是包括3個對象的數(shù)組。每一個對象代表1條關(guān)于某個網(wǎng)站的信息。
6.json使用 JavaScript 語法
由于 json 使用 JavaScript 語法,所以無需額外的軟件就可以處理 JavaScript 中的 json。
通過 JavaScript,您可以創(chuàng)建1個對象數(shù)組,并像這樣進(jìn)行賦值:
var sites = [
    { "name":"banzg" , "url":"www.banzg.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"百度" , "url":"www.baidu.com" }
];
可以像這樣訪問 JavaScript 對象數(shù)組中的第1項(索引從 0 開始):
sites[0].name;
返回的內(nèi)容是:
banzg
可以像這樣修改數(shù)據(jù):
sites[0].name="搬磚工";
7.json文件
a.json 文件的文件類型是 “.json”

b.json 文本的 MIME 類型是 “application/json”


6、如何使用json
1.把json文本轉(zhuǎn)換為js對象

json最多見的用法之1,是從 web 服務(wù)器上讀取json數(shù)據(jù)(作為文件或作為 HttpRequest),將json數(shù)據(jù)轉(zhuǎn)換為JavaScript對象,然后在網(wǎng)頁中使用該數(shù)據(jù)。
下面我們使用字符串作為輸入進(jìn)行演示(而不是文件)。
創(chuàng)建包括 json 語法的 JavaScript 字符串:
var txt = '{ "sites" : [' +
'{ "name":"搬磚工" , "url":"www.banzg.com" },' +
'{ "name":"google" , "url":"www.google.com" },' +
'{ "name":"百度" , "url":"www.baidu.com" } ]}';
由于 json 語法是 JavaScript 語法的子集,JavaScript 函數(shù) eval() 可用于將 json 文本轉(zhuǎn)換為 JavaScript 對象。
eval() 函數(shù)使用的是 JavaScript 編譯器,可解析 json 文本,然后生成 JavaScript 對象。必須把文本包圍在括號中,這樣才能避免語法毛病:
var obj = eval ("(" + txt + ")");
在網(wǎng)頁中使用 JavaScript 對象:
var txt = '{ "sites" : [' +
'{ "name":"搬磚工" , "url":"www.banzg.com" },' +
'{ "name":"google" , "url":"www.google.com" },' +
'{ "name":"百度" , "url":"www.baidu.com" } ]}';
 
var obj = eval ("(" + txt + ")");
 
document.getElementById("name").innerHTML=obj.sites[0].name 
document.getElementById("url").innerHTML=obj.sites[0].url
2.json 解析器
:eval() 函數(shù)可編譯并履行任何 JavaScript 代碼。這隱藏了1個潛伏的安全問題。
使用 json 解析器將 json 轉(zhuǎn)換為 JavaScript 對象是更安全的做法。json 解析器只能辨認(rèn) json 文本,而不會編譯腳本。
在閱讀器中,這提供了原生的 json 支持,而且 json 解析器的速度更快。
較新的閱讀器和最新的 ECMAScript (JavaScript) 標(biāo)準(zhǔn)中均包括了原生的對 json 的支持。
Web 閱讀器支持
a.Firefox (Mozilla) 3.5
b.Internet Explorer 8
c.Chrome
d.Opera 10
e.Safari 4
Web 軟件支持:
a.jQuery
b.Yahoo UI
c.Prototype
d.Dojo
e.ECMAScript 1.5
對較老的閱讀器,可以使用 JavaScript 庫: https://github.com/douglascrockford/json-js
json 格式最初是 originally specified by Douglas Crockford
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 日本不卡网 | 性欧美另类老妇高清 | 伊人欧美| 五月婷婷激情四射 | 成人福利社区 | 天堂网在线网站成人午夜网站 | 国产精品深夜福利免费观看 | 手机在线日韩高清理论片 | 名优写真一区二区在线 | 久久久久成人精品一区二区 | 国精品一区二区三区 | 亚洲欧美中文字幕高清在线一 | 国产成人无精品久久久 | 欧洲区二区三区四区 | 欧美乱码| 国产欧美一区二区三区视频在线观看 | 日韩欧美在线观看视频一区二区 | 毛片无码国产 | 欧美头交videos在线播放 | 97久久精品国产成人影院 | 欧美日韩一级片在线观看 | 亚洲欧美中文字幕专区 | 羞羞色在线 | 91九色精品国产免费 | 国产日韩欧美精品一区二区三区 | 亚洲福利在线观看 | 在线观看日本一区 | 午夜精品久久久 | 69久久| 亚洲成人在线免费视频 | 精品videosex性欧美 | 成人自拍视频 | 国产毛片毛片精品天天看 | 黑人性猛交xxxx乱大交一 | 国内精品久久久久影院不卡 | 日韩久久久精品中文字幕 | 亚洲精品伊人久久久久 | 色老头成人免费视频天天综合 | 免费在线公开视频 | 亚洲国产最新在线一区二区 | 日本一区二区三区有限公司 |