10分钟学会js处理json常用方法
?
一、json定義
JSON ( JavaScript Object Notation) ,它是一串字符串 只不過(guò)元素會(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ù)在名稱(chēng)/值對(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
三、JS 內(nèi)置兩個(gè)Json方法
1、對(duì)象轉(zhuǎn)化為字符串
任何把 JavaScript 變成 Json ,就是把這個(gè)對(duì)象序列化為Json字符串,然后才可以通過(guò)網(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)的過(guò)程。
總結(jié)
以上是生活随笔為你收集整理的10分钟学会js处理json常用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Chrome报错:Unchecked r
- 下一篇: 黑猫315十大行业乱象发布:背后真假套路