Heim >Web-Frontend >js-Tutorial >JSON.stringify() & JSON.parse()
JSON oder JavaScript Object Notation ist ein Textformat zum Speichern und Transportieren komplexer Daten zwischen Systemen. Javascript umfasst einfache Methoden zum Konvertieren von JSON-Text in ein Objekt und von JSON-Objekten in Text.
Dies ist nützlich, wenn ...
JSON.stringify() und JSON.parse() sind integrierte Funktionen, die für JavaScript-Objekte und Strings verwendet werden können, um sie hin und her zu konvertieren.
Hier habe ich ein Array namens Alben mit Albumobjekten, die jeweils zwei Schlüssel enthalten: „Künstler“ und „Titel“.
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);
Das Protokollieren dieses Codes ergibt die folgende Ausgabe:
// [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" }]
Beim Aufruf von console.log(albums); erkennt die Konsole, dass es sich bei albums um ein Array handelt. Es fasst das Array als [Objekt-Array] und jedes darin enthaltene Element als [Objekt-Objekt] zusammen, anstatt standardmäßig jedes Detail zu erweitern. Dies ist die integrierte Abkürzung der Konsole, die angibt, dass jedes Element ein Objekt ist.
JSON.stringify() nimmt ein JavaScript, ein komplexes Array oder Objekt und wandelt es in einen JSON-String um.
Hier konvertiere ich das Alben-Array in einen JSON-String, indem ich die Methode JSON.stringify() für Alben aufrufe:
let albumStrings = JSON.stringify(albums); console.log(albumStrings);
Das Protokollieren dieses Codes ergibt die folgende Ausgabe:
"[{'artist':'Herbie Hancock','title':'Head Hunters'},{'artist':'Beastie Boys','title':'Pauls Boutique'},{'artist':'The Cramps','title':'Bad Music for Bad People'}]"
Dadurch erhalten wir ein Array aus drei Objekten mit jeweils zwei Eigenschaften.
Aber was wäre, wenn ich wollte..
Die Funktion JSON.stringify() akzeptiert bis zu drei Parameter:
Wert: der Wert, der in eine JSON-Zeichenfolge (Alben) konvertiert werden soll
Replacer (Optional): eine Funktion, mit der Sie jedes Schlüssel-Wert-Paar (null) ändern können
Platz (optional): die Anzahl der Plätze, die pro Ebene verwendet werden sollen (4)
let albumStringsFormat = JSON.stringify(albums, null, 4); console.log(albumStringsFormat);
Das Protokollieren dieses Codes ergibt die folgende Ausgabe:
"[ { 'artist': 'Herbie Hancock', 'title': 'Head Hunters' }, { 'artist': 'Beastie Boys', 'title': 'Pauls Boutique' }, { 'artist': 'The Cramps', 'title': 'Bad Music for Bad People' } ]"
Hier können Sie sehen, dass jedes Objekt jetzt
istAls nächstes habe ich eine Reihe von
erstellt
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);
Das Protokollieren dieses Codes ergibt die folgende Ausgabe:
"[{'artist': 'Bad Brains', 'title': 'Bad Brains'}, {'artist': 'A Tribe Called Quest', 'title': 'Low End Theory'}, {'artist': 'Nina Simone', 'title': 'Wild is the Wind'}]"
Wenn ich die Länge protokolliere
console.log(albumsString.length); // length of string 162
Wenn ich eine Länge von 162 erhalte, weil.
Als nächstes analysiere ich das
let albumsObject = JSON.parse(albumsString); console.log(albumsObject);
Das Protokollieren dieses Codes ergibt die folgende Ausgabe:
// [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" }]
Wenn ich jetzt die Länge des Objekts protokolliere
console.log(albumsObject.length); // length of object 3
Dies protokollieren
console.log(JSON.stringify(albumsObject, null, 4));
Das Protokollieren dieses Codes ergibt die folgende Ausgabe:
"[ { 'artist': 'Bad Brains', 'title': 'Bad Brains' }, { 'artist': 'A Tribe Called Quest', 'title': 'Low End Theory' }, { 'artist': 'Nina Simone', 'title': 'Wild is the Wind' } ]"
Das obige ist der detaillierte Inhalt vonJSON.stringify() & JSON.parse(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!