json 使用大全
一、JSON 概念簡(jiǎn)介
JSON:JavaScript 對(duì)象表示法(JavaScript Object Notation)。
JSON 是存儲(chǔ)和交換文本信息的語(yǔ)法。類似 XML。
JSON 比 XML 更小、更快,更易解析。
二、什么是 JSON ?
·
JSON 指的是 JavaScript 對(duì)象表示法(JavaScript Object Notation)
·
·
JSON 是輕量級(jí)的文本數(shù)據(jù)交換格式
·
·
JSON 獨(dú)立于語(yǔ)言 *
·
·
JSON 具有自我描述性,更易理解
·
·
* JSON 使用 JavaScript 語(yǔ)法來(lái)描述數(shù)據(jù)對(duì)象,但是 JSON 仍然獨(dú)立于語(yǔ)言和平臺(tái)。JSON 解析器和 JSON 庫(kù)支持許多不同的編程語(yǔ)言。
三、JSON - 轉(zhuǎn)換為 JavaScript 對(duì)象
JSON 文本格式在語(yǔ)法上與創(chuàng)建 JavaScript 對(duì)象的代碼相同。
由于這種相似性,無(wú)需解析器,JavaScript 程序能夠使用內(nèi)建的 eval() 函數(shù),用 JSON 數(shù)據(jù)來(lái)生成原生的 JavaScript 對(duì)象。
1、實(shí)例
在 JavaScript 中創(chuàng)建 JSON 對(duì)象
Name:
Age:
Address:
Phone:
輸出結(jié)果:
四、類似 XML
·
JSON 是純文本·
JSON 具有"自我描述性"(人類可讀)·
JSON 具有層級(jí)結(jié)構(gòu)(值中存在值)·
JSON 可通過(guò) JavaScript 進(jìn)行解析·
JSON 數(shù)據(jù)可使用 AJAX 進(jìn)行傳輸
五、相比 XML 的不同之處·
沒有結(jié)束標(biāo)簽·
更短·
讀寫的速度更快··
能夠使用內(nèi)建的 JavaScript eval() 方法進(jìn)行解析·
使用數(shù)組·
不使用保留字·
六、為什么使用 JSON?
對(duì)于 AJAX 應(yīng)用程序來(lái)說(shuō),JSON 比 XML 更快更易使用:
使用 XML
讀取 XML 文檔·
使用 XML DOM 來(lái)循環(huán)遍歷文檔·
讀取值并存儲(chǔ)在變量中
使用 JSON
讀取 JSON 字符串·
用 eval() 處理 JSON 字符串
·
七、JSON 語(yǔ)法是 JavaScript 語(yǔ)法的子集。
1、JSON 語(yǔ)法規(guī)則
JSON 語(yǔ)法是 JavaScript 對(duì)象表示法語(yǔ)法的子集?!?/p>
數(shù)據(jù)在名稱/值對(duì)中·
數(shù)據(jù)由逗號(hào)分隔·
花括號(hào)保存對(duì)象·
方括號(hào)保存數(shù)組
·
2、JSON 名稱/值對(duì)
JSON 數(shù)據(jù)的書寫格式是:名稱/值對(duì)。
名稱/值對(duì)包括字段名稱(在雙引號(hào)中),后面寫一個(gè)冒號(hào),然后是值:
"firstName" : "John"
這很容易理解,等價(jià)于這條 JavaScript 語(yǔ)句:
firstName = "John"
3、JSON 值
JSON 值可以是:·
數(shù)字(整數(shù)或浮點(diǎn)數(shù))·
字符串(在雙引號(hào)中)·
邏輯值(true 或 false)·
數(shù)組(在方括號(hào)中)·
對(duì)象(在花括號(hào)中)·
null
·
4、JSON 對(duì)象
JSON 對(duì)象在花括號(hào)中書寫:
對(duì)象可以包含多個(gè)名稱/值對(duì):
{ "firstName":"John" , "lastName":"Doe" }
這一點(diǎn)也容易理解,與這條 JavaScript 語(yǔ)句等價(jià):
firstName = "John"
lastName = "Doe"
5、JSON 數(shù)組
JSON 數(shù)組在方括號(hào)中書寫:
數(shù)組可包含多個(gè)對(duì)象:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在上面的例子中,對(duì)象 "employees" 是包含三個(gè)對(duì)象的數(shù)組。每個(gè)對(duì)象代表一條關(guān)于某人(有姓和名)的記錄。
5-1、JSON 使用 JavaScript 語(yǔ)法
因?yàn)?JSON 使用 JavaScript 語(yǔ)法,所以無(wú)需額外的軟件就能處理 JavaScript 中的 JSON。
通過(guò) JavaScript,您可以創(chuàng)建一個(gè)對(duì)象數(shù)組,并像這樣進(jìn)行賦值:
例子
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
可以像這樣訪問 JavaScript 對(duì)象數(shù)組中的第一項(xiàng):
employees[0].lastName;
返回的內(nèi)容是:
Gates
可以像這樣修改數(shù)據(jù):
employees[0].lastName = "Jobs";
通過(guò) JSON 字符串來(lái)創(chuàng)建對(duì)象
First Name:
輸出的結(jié)果:
通過(guò) JSON 字符串來(lái)創(chuàng)建對(duì)象
First Name: Jobs
6、JSON 文件
·
JSON 文件的文件類型是 ".json"
·
JSON 文本的 MIME 類型是 "application/json"
·
七、把 JSON 文本轉(zhuǎn)換為 JavaScript 對(duì)象
JSON 最常見的用法之一,是從 web 服務(wù)器上讀取 JSON 數(shù)據(jù)(作為文件或作為 HttpRequest),將 JSON 數(shù)據(jù)轉(zhuǎn)換為 JavaScript 對(duì)象,然后在網(wǎng)頁(yè)中使用該數(shù)據(jù)。
為了更簡(jiǎn)單地為您講解,我們使用字符串作為輸入進(jìn)行演示(而不是文件)。
1、JSON 實(shí)例 - 來(lái)自字符串的對(duì)象
創(chuàng)建包含 JSON 語(yǔ)法的 JavaScript 字符串:
var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
由于 JSON 語(yǔ)法是 JavaScript 語(yǔ)法的子集,JavaScript 函數(shù) eval() 可用于將 JSON 文本轉(zhuǎn)換為 JavaScript 對(duì)象。
eval() 函數(shù)使用的是 JavaScript 編譯器,可解析 JSON 文本,然后生成 JavaScript 對(duì)象。必須把文本包圍在括號(hào)中,這樣才能避免語(yǔ)法錯(cuò)誤:
var obj = eval ("(" + txt + ")");
例子:
在網(wǎng)頁(yè)中使用 JavaScript 對(duì)象:
First Name:
Last Name:
通過(guò) JSON 字符串來(lái)創(chuàng)建對(duì)象:
通過(guò) JSON 字符串來(lái)創(chuàng)建對(duì)象
First Name:
Last Name:
輸出結(jié)果:
通過(guò) JSON 字符串來(lái)創(chuàng)建對(duì)象
First Name: George
Last Name: Bush
2、JSON 解析器
提示:eval() 函數(shù)可編譯并執(zhí)行任何 JavaScript 代碼。這隱藏了一個(gè)潛在的安全問題。
使用 JSON 解析器將 JSON 轉(zhuǎn)換為 JavaScript 對(duì)象是更安全的做法。JSON 解析器只能識(shí)別 JSON 文本,而不會(huì)編譯腳本。
在瀏覽器中,這提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。
較新的瀏覽器和最新的 ECMAScript (JavaScript) 標(biāo)準(zhǔn)中均包含了原生的對(duì) JSON 的支持。
用 JSON 字符串創(chuàng)建對(duì)象
用 JSON 字符串創(chuàng)建對(duì)象:
輸出的結(jié)果:
用 JSON 字符串創(chuàng)建對(duì)象
Bill Gates, 62
對(duì)于較老的瀏覽器,可使用 JavaScript 庫(kù)
1.《-1003是什么問題?總結(jié)很全面速看!JSON 使用大全》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《-1003是什么問題?總結(jié)很全面速看!JSON 使用大全》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/gl/2198780.html