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

JSON.stringify() 和 JSON.parse()

Susan Sarandon
Susan Sarandon原创
2024-12-06 16:38:16787浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn