溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript中是如何對json進(jìn)行處理的

發(fā)布時(shí)間:2020-12-07 14:53:03 來源:億速云 閱讀:141 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了JavaScript中是如何對json進(jìn)行處理的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

一、json定義

JSON ( JavaScript Object Notation) ,它是一串字符串 只不過元素會(huì)使用特定的符號標(biāo)注。

  • {} 雙括號表示對象
  • [] 中括號表示數(shù)組
  • "" 雙引號內(nèi)是屬性或值
  • : 冒號表示后者是前者的值(這個(gè)值可以是字符串、數(shù)字、也可以是另一個(gè)數(shù)組或?qū)ο?

JSON 語法是 JavaScript 對象表示法語法的子集。
數(shù)據(jù)在名稱/值對中、數(shù)據(jù)由逗號分隔、花括號保存對象、方括號保存數(shù)組

JSON 值可以是:數(shù)字(整數(shù)或浮點(diǎn)數(shù))、字符串(在雙引號中)、邏輯值(true 或 false)、數(shù)組(在方括號中)、對象(在花括號中)、null

所以 {"name": "Michael"} 可以理解為是一個(gè)包含name為Michael的對象

二、為什么用json

  1. JSON是純文本格式,是獨(dú)立于語言和平臺(tái)的。
  2. 生成和解析相對于XML而言要簡單。
  3. 讀寫的速度更快。

三、JS 內(nèi)置兩個(gè)Json方法

1、對象轉(zhuǎn)化為字符串

任何把 JavaScript 變成 Json ,就是把這個(gè)對象序列化為Json字符串,然后才可以通過網(wǎng)絡(luò)傳遞;

JSON.stringify( {} , [ ] , "")

//參數(shù)一 :要序列化的數(shù)據(jù)(object)
//參數(shù)二 :控制對象的鍵值,只想輸出指定的屬性,傳入一個(gè)數(shù)組
//參數(shù)三 :序列化后,打印輸出的格式(一個(gè)Tab ,可以更直觀查看json)

例子:

JavaScript中是如何對json進(jìn)行處理的

2、字符串轉(zhuǎn)換為對象

如果我們收到一個(gè)JSON格式的字符串,只需要把它反序列化成一個(gè)JavaScript對象,就可以在JavaScript中直接使用這個(gè)對象了

JSON.parse( json.DATA )

//傳入json字符串

JavaScript中是如何對json進(jìn)行處理的

四、全局替換字符串

這里我們需要用JS實(shí)現(xiàn)replaceAll的功能, 將所有的 ' xa" ' 替換成 ' " ' .
代碼如下,這里的gm是固定的,g表示global,m表示multiple,也可以使用正則表達(dá)式

JavaScript中是如何對json進(jìn)行處理的

五、遍歷json對象和json數(shù)組

1、遍歷JSON對象

代碼如下:

var packJson = {"name":"Liza", "password":"123"} ;
for(var k in packJson ){//遍歷packJson 對象的每個(gè)key/value對,k為key
alert(k + " " + packJson[k]);
}

JavaScript中是如何對json進(jìn)行處理的

JavaScript中是如何對json進(jìn)行處理的

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);
}

JavaScript中是如何對json進(jìn)行處理的

JavaScript中是如何對json進(jìn)行處理的

附錄

學(xué)習(xí)本就是一個(gè)不斷模仿、練習(xí)、再到最后面自己原創(chuàng)的過程。

雖然可能從來不能寫出超越網(wǎng)上通類型同主題博文,但為什么還是要寫?
于自己而言,博文主要是自己總結(jié)。假設(shè)自己有觀眾,畢竟講是最好的學(xué)(見下圖)。

于讀者而言,筆者能在這個(gè)過程get到知識(shí)點(diǎn),那就是雙贏了。
當(dāng)然由于筆者能力有限,或許文中存在描述不正確,歡迎指正、補(bǔ)充!
感謝您的閱讀。如果本文對您有用,那么請點(diǎn)贊鼓勵(lì)。

JavaScript中是如何對json進(jìn)行處理的

上述內(nèi)容就是JavaScript中是如何對json進(jìn)行處理的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI