Maison > interface Web > js tutoriel > JSON.stringify() & JSON.parse()

JSON.stringify() & JSON.parse()

Susan Sarandon
Libérer: 2024-12-06 16:38:16
original
811 Les gens l'ont consulté

JSON

JSON, ou JavaScript Object Notation, est un format de texte permettant de stocker et de transporter des données complexes entre les systèmes. Javascript inclut des méthodes simples pour convertir du texte JSON en objet et des objets JSON en texte.

C'est utile quand...

JSON.stringify() et JSON.parse() sont des fonctions intégrées qui peuvent être utilisées sur des objets et des chaînes JavaScript pour les convertir d'avant en arrière.

Ici, j'ai un tableau appelé albums d'objets album, chacun contenant deux clés : "artiste" et "titre".

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);
Copier après la connexion

La journalisation de ce code donnera le résultat suivant :

// [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"
}]
Copier après la connexion

Lors de l'appel de console.log(albums);, la console voit que albums est un tableau. Il résume le tableau comme [object Array] et chaque élément à l'intérieur comme [object Object], au lieu de développer chaque détail par défaut. Il s'agit du raccourci intégré à la console pour indiquer que chaque élément est un objet.

JSON.stringify()

JSON.stringify() prend un JavaScript, un tableau ou un objet complexe et le transforme en chaîne JSON.

Ici, je convertis le tableau albums en chaîne JSON en appelant la méthode JSON.stringify() sur les albums :

let albumStrings = JSON.stringify(albums);

console.log(albumStrings);
Copier après la connexion

La journalisation de ce code donnera le résultat suivant :

"[{'artist':'Herbie Hancock','title':'Head Hunters'},{'artist':'Beastie 
Boys','title':'Pauls Boutique'},{'artist':'The Cramps','title':'Bad Music 
for Bad People'}]"
Copier après la connexion

Cela nous donne un tableau de trois objets avec deux propriétés chacun.

Mais et si je le voulais..

La fonction JSON.stringify() accepte jusqu'à trois paramètres :

  1. Valeur : la valeur à convertir en chaîne JSON (albums)

  2. Replacer(Facultatif) : une fonction qui vous permet de modifier chaque paire clé-valeur (null)

  3. Espace(Facultatif) : le nombre d'espaces à utiliser par niveau (4)

let albumStringsFormat = JSON.stringify(albums, null, 4);

console.log(albumStringsFormat);
Copier après la connexion

La journalisation de ce code donnera le résultat suivant :

"[
    {
        'artist': 'Herbie Hancock',
        'title': 'Head Hunters'
    },
    {
        'artist': 'Beastie Boys',
        'title': 'Pauls Boutique'
    },
    {
        'artist': 'The Cramps',
        'title': 'Bad Music for Bad People'
    }
]"
Copier après la connexion

Ici, vous pouvez voir que chaque objet maintenant

JSON.stringify() & JSON.parse()

JSON.parse()

Ensuite, j'ai créé une chaîne de

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);
Copier après la connexion

La journalisation de ce code donnera le résultat suivant :

"[{'artist': 'Bad Brains', 'title': 'Bad Brains'}, {'artist': 'A Tribe 
Called Quest', 'title': 'Low End Theory'}, {'artist': 'Nina Simone', 
'title': 'Wild is the Wind'}]"
Copier après la connexion

Si j'enregistre la longueur

console.log(albumsString.length); // length of string
162
Copier après la connexion

Si ça me donne une longueur de 162, parce que.

Ensuite, si j'analyse le

let albumsObject = JSON.parse(albumsString);

console.log(albumsObject);
Copier après la connexion

La journalisation de ce code donnera le résultat suivant :

// [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"
}]
Copier après la connexion

Maintenant, quand j'enregistre la longueur de l'objet

console.log(albumsObject.length); // length of object
3
Copier après la connexion

Enregistrez ceci

console.log(JSON.stringify(albumsObject, null, 4));
Copier après la connexion

La journalisation de ce code donnera le résultat suivant :

"[
    {
        'artist': 'Bad Brains',
        'title': 'Bad Brains'
    },
    {
        'artist': 'A Tribe Called Quest',
        'title': 'Low End Theory'
    },
    {
        'artist': 'Nina Simone',
        'title': 'Wild is the Wind'
    }
]"
Copier après la connexion

JSON.stringify() & JSON.parse()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal