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