JSON,即 JavaScript 物件表示法,是一種用於在系統之間儲存和傳輸複雜資料的文字格式。 Javascript 包含將 JSON 文字轉換為物件以及將 JSON 物件轉換為文字的簡單方法。
這在以下情況很有用
JSON.stringify() 和 JSON.parse() 是內建函數,可用於 JavaScript 物件和字串來回轉換它們。
這裡,我有一個名為 albums 的專輯物件數組,每個物件包含兩個按鍵:「artist」和「title」。
let albums = [ { "artist" : "Herbie Hancock", "title" : "Head Hunters", }, { "artist" : "Beastie Boys", "title" : "Pauls Boutique" }, { "artist" : "The Cramps", "title" : "Bad Music for Bad People" } ]; console.log(albums);
記錄此程式碼將給出以下輸出:
// [object Array] (3) [// [object Object] { "artist": "Herbie Hancock", "title": "Head Hunters" },// [object Object] { "artist": "Beastie Boys", "title": "Pauls Boutique" },// [object Object] { "artist": "The Cramps", "title": "Bad Music for Bad People" }]
當呼叫console.log(albums);時,控制台看到albums是一個陣列。它將陣列總結為 [object Array],並將其中的每個項目總結為 [object Object],而不是預設展開每個細節。這是控制台的內建簡寫,表示每個元素都是一個物件。
JSON.stringify() 將 JavaScript 中的複雜陣列或物件轉換為 JSON 字串。
在這裡,我透過呼叫專輯上的 JSON.stringify() 方法將專輯陣列轉換為 JSON 字串:
let albumStrings = JSON.stringify(albums); console.log(albumStrings);
記錄此程式碼將給出以下輸出:
"[{'artist':'Herbie Hancock','title':'Head Hunters'},{'artist':'Beastie Boys','title':'Pauls Boutique'},{'artist':'The Cramps','title':'Bad Music for Bad People'}]"
這給了我們一個由三個物件組成的數組,每個物件都有兩個屬性。
但是如果我想怎麼辦..
JSON.stringify() 函數最多接受三個參數:
值:要轉換為 JSON 字串(專輯)的值
Replacer(可選):一個可讓您修改每個鍵值對的函數(空)
空格(可選):每級使用的空格數 (4)
let albumStringsFormat = JSON.stringify(albums, null, 4); console.log(albumStringsFormat);
記錄此程式碼將給出以下輸出:
"[ { 'artist': 'Herbie Hancock', 'title': 'Head Hunters' }, { 'artist': 'Beastie Boys', 'title': 'Pauls Boutique' }, { 'artist': 'The Cramps', 'title': 'Bad Music for Bad People' } ]"
在這裡,您現在可以看到每個物件
接下來,我建立了一個字串
let albumsString = '[{"artist": "Bad Brains", "title": "Bad Brains"}, {"artist": "A Tribe Called Quest", "title": "Low End Theory"}, {"artist": "Nina Simone", "title": "Wild is the Wind"}]' console.log(albumsString);
記錄此程式碼將給出以下輸出:
"[{'artist': 'Bad Brains', 'title': 'Bad Brains'}, {'artist': 'A Tribe Called Quest', 'title': 'Low End Theory'}, {'artist': 'Nina Simone', 'title': 'Wild is the Wind'}]"
如果我錄長度
console.log(albumsString.length); // length of string 162
如果給我的長度是 162,因為。
接下來,如果我解析
let albumsObject = JSON.parse(albumsString); console.log(albumsObject);
記錄此程式碼將給出以下輸出:
// [object Array] (3) [// [object Object] { "artist": "Bad Brains", "title": "Bad Brains" },// [object Object] { "artist": "A Tribe Called Quest", "title": "Low End Theory" },// [object Object] { "artist": "Nina Simone", "title": "Wild is the Wind" }]
現在,當我記錄物件的長度時
console.log(albumsObject.length); // length of object 3
記錄此
console.log(JSON.stringify(albumsObject, null, 4));
記錄此程式碼將給出以下輸出:
"[ { 'artist': 'Bad Brains', 'title': 'Bad Brains' }, { 'artist': 'A Tribe Called Quest', 'title': 'Low End Theory' }, { 'artist': 'Nina Simone', 'title': 'Wild is the Wind' } ]"
以上是JSON.stringify() 和 JSON.parse()的詳細內容。更多資訊請關注PHP中文網其他相關文章!