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
Libérer: 2024-12-22 14:41:11
original
559 Les gens l'ont consulté

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

Exemple de sortie :

Retrieved object: { one: 1, two: 2, three: 3 }
Copier après la connexion

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!

source:php.cn
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