首頁 > web前端 > js教程 > JSON.stringify() 和 JSON.parse()

JSON.stringify() 和 JSON.parse()

Susan Sarandon
發布: 2024-12-06 16:38:16
原創
821 人瀏覽過

JSON

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()

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() 函數最多接受三個參數:

  1. 值:要轉換為 JSON 字串(專輯)的值

  2. Replacer(可選):一個可讓您修改每個鍵值對的函數(空)

  3. 空格(可選):每級使用的空格數 (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'
    }
]"
登入後複製

在這裡,您現在可以看到每個物件

JSON.stringify() & JSON.parse()

JSON.parse()

接下來,我建立了一個字串

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()

以上是JSON.stringify() 和 JSON.parse()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板