10分鐘學(xué)會(huì)js處理json的常用方法
一、json定義
JSON ( JavaScript Object Notation) ,它是一串字符串 只不過元素會(huì)使用特定的符號(hào)標(biāo)注。
- {} 雙括號(hào)表示對(duì)象
- [] 中括號(hào)表示數(shù)組
- "" 雙引號(hào)內(nèi)是屬性或值
- : 冒號(hào)表示后者是前者的值(這個(gè)值可以是字符串、數(shù)字、也可以是另一個(gè)數(shù)組或?qū)ο?
JSON 語(yǔ)法是 JavaScript 對(duì)象表示法語(yǔ)法的子集。
數(shù)據(jù)在名稱/值對(duì)中、數(shù)據(jù)由逗號(hào)分隔、花括號(hào)保存對(duì)象、方括號(hào)保存數(shù)組
JSON 值可以是:數(shù)字(整數(shù)或浮點(diǎn)數(shù))、字符串(在雙引號(hào)中)、邏輯值(true 或 false)、數(shù)組(在方括號(hào)中)、對(duì)象(在花括號(hào)中)、null
所以 {"name": "Michael"} 可以理解為是一個(gè)包含name為Michael的對(duì)象
二、為什么用json
- JSON是純文本格式,是獨(dú)立于語(yǔ)言和平臺(tái)的。
- 生成和解析相對(duì)于XML而言要簡(jiǎn)單。
- 讀寫的速度更快。
三、JS 內(nèi)置兩個(gè)Json方法
1、對(duì)象轉(zhuǎn)化為字符串
任何把 JavaScript 變成 Json ,就是把這個(gè)對(duì)象序列化為Json字符串,然后才可以通過網(wǎng)絡(luò)傳遞;
JSON.stringify( {} , [ ] , "")
//參數(shù)一 :要序列化的數(shù)據(jù)(object)
//參數(shù)二 :控制對(duì)象的鍵值,只想輸出指定的屬性,傳入一個(gè)數(shù)組
//參數(shù)三 :序列化后,打印輸出的格式(一個(gè)Tab ,可以更直觀查看json)
例子:
2、字符串轉(zhuǎn)換為對(duì)象
如果我們收到一個(gè)JSON格式的字符串,只需要把它反序列化成一個(gè)JavaScript對(duì)象,就可以在JavaScript中直接使用這個(gè)對(duì)象了
JSON.parse( json.DATA )
//傳入json字符串
四、全局替換字符串
這里我們需要用JS實(shí)現(xiàn)replaceAll的功能, 將所有的 ' xa" ' 替換成 ' " ' .
代碼如下,這里的gm是固定的,g表示global,m表示multiple,也可以使用正則表達(dá)式
五、遍歷json對(duì)象和json數(shù)組
1、遍歷JSON對(duì)象
代碼如下:
var packJson = {"name":"Liza", "password":"123"} ; for(var k in packJson ){//遍歷packJson 對(duì)象的每個(gè)key/value對(duì),k為key alert(k + " " + packJson[k]); }
2、遍歷JSON數(shù)組
代碼如下:
var packJson = [{"name":"Liza", "password":"123"}, {"name":"Mike", "password":"456"}]; for(var i in packJson){//遍歷packJson 數(shù)組時(shí),i為索引 alert(packJson[i].name + " " + packJson[i].password); }
附錄
學(xué)習(xí)本就是一個(gè)不斷模仿、練習(xí)、再到最后面自己原創(chuàng)的過程。
雖然可能從來不能寫出超越網(wǎng)上通類型同主題博文,但為什么還是要寫?
于自己而言,博文主要是自己總結(jié)。假設(shè)自己有觀眾,畢竟講是最好的學(xué)(見下圖)。
于讀者而言,筆者能在這個(gè)過程get到知識(shí)點(diǎn),那就是雙贏了。
當(dāng)然由于筆者能力有限,或許文中存在描述不正確,歡迎指正、補(bǔ)充!
感謝您的閱讀。如果本文對(duì)您有用,那么請(qǐng)點(diǎn)贊鼓勵(lì)。
到此這篇關(guān)于10分鐘學(xué)會(huì)js處理json的常用方法的文章就介紹到這了,更多相關(guān)js處理json方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使Ext的Template可以解析二層的json數(shù)據(jù)的方法
2007-12-12json解析大全 雙引號(hào)、鍵值對(duì)不在一起的情況
這篇文章主要介紹了json解析大全 雙引號(hào)、鍵值對(duì)不在一起的情況,需要的朋友可以參考下2019-12-12json的前臺(tái)操作和后臺(tái)操作實(shí)現(xiàn)代碼
通常情況下,json的在項(xiàng)目中的應(yīng)用都是在后臺(tái)把數(shù)據(jù)傳到前臺(tái),然后前臺(tái)再獲取json中的數(shù)據(jù).2012-01-01ajax處理php返回json數(shù)據(jù)的實(shí)例代碼
有時(shí)候我們需要ajax處理php返回的json數(shù)據(jù),適合經(jīng)常用php開發(fā)的朋友,需要的朋友可以參考下2013-01-01