Maison >interface Web >js tutoriel >Comment puis-je stocker des données non-chaînes dans HTML5 LocalStorage/SessionStorage ?

Comment puis-je stocker des données non-chaînes dans HTML5 LocalStorage/SessionStorage ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-22 14:41:11564parcourir

How Can I Store Non-String Data in HTML5 LocalStorage/SessionStorage?

Comment stocker des non-chaînes dans HTML5 LocalStorage/SessionStorage

Contrairement aux types et tableaux primitifs, stocker des objets JavaScript directement dans le stockage HTML5 entraîne leur conversion en chaînes. Cette limitation a fait l'objet de débats, entraînant une confusion parmi les développeurs.

Selon la spécification HTML5 Web Storage, la méthode setItem() s'attend à ce que les paires clé/valeur soient des chaînes. Pour surmonter cette limitation, envisagez la solution de contournement suivante :

Sérialisation et désérialisation JSON

Pour stocker un objet dans le stockage HTML5, convertissez-le en chaîne JSON à l'aide de JSON.stringify (). Lors de la récupération, analysez la chaîne JSON dans un objet à l'aide de JSON.parse().

var testObject = { 'one': 1, 'two': 2, 'three': 3 };

// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));

// Retrieve the object from storage
var retrievedObject = JSON.parse(localStorage.getItem('testObject'));

console.log('Retrieved object:', retrievedObject);

Exemple de sortie :

Retrieved object: { one: 1, two: 2, three: 3 }

En sérialisant l'objet avant stockage et en le désérialisant après la récupération, vous pouvez stocker et récupérer efficacement des objets JavaScript dans le stockage HTML5.

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!

Déclaration:
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