2011-05-10 3 views
2

Quelle est la meilleure façon de stocker ceci:Stockez un tableau d'objets JS dans un cookie, sans plugins?

var mydata = [{'11 Alveston Road, Manchester':1}, 
       {'12 Plymouth Street, Liverpool':2}]; 

dans un cookie pour récupérer plus tard?

Je peux évidemment simplement tout transformer en une chaîne de texte, et ajouter des symboles comme des délimiteurs (en espérant que ces symboles ne se produisent nulle part dans les valeurs de données), mais il semble un peu hacky!

Je voudrais également éviter le plugin cookie jQuery, si possible - je travaille sur mobile, et chaque appel de fichier supplémentaire est un coup de performance.

Merci!

+0

Utilisez [JSON] (http://www.json.org/js.html)! –

Répondre

5

Cela ressemble à un travail pour JSON.stringify:

var myData = JSON.stringify(
    [ 
     {'11 Alveston Road, Manchester':1}, 
     {'12 Plymouth Street, Liverpool':2} 
    ] 
); // "[{"11 Alveston Road, Manchester":1},{"12 Plymouth Street, Liverpool":2}]" 

Le tableau est converti en une chaîne au format JSON, que vous pouvez ensuite utiliser la valeur de votre cookie. Vous pouvez le décoder avec JSON.parse. Remarque: comme vous utilisez des navigateurs mobiles, ils sont probablement assez modernes et ont donc JSON installé nativement. Vous pouvez utiliser this library pour contourner ce problème dans ces cas.

Questions connexes