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