web-dev-qa-db-fra.com

Sérialisation et désérialisation d'un tableau en javascript

J'utilise la bibliothèque tag-it pour jquery pour créer un système de marquage (un peu comme celui de stackoverflow).

Une fois que l'utilisateur a tapé ses balises, la bibliothèque renvoie un tableau javascript que je souhaite enregistrer dans une base de données MySQL. Je n'ai pas trouvé de fonction sérialiser et désérialiser en javascript.

Avant de coder ma propre fonction, je voudrais m'assurer que je ne réinvente pas la roue ici. Il semble fou qu'il n'y ait aucun moyen natif d'enregistrer un tableau dans une base de données, puis de le réutiliser.

tl; dr => comment puis-je enregistrer un tableau javascript dans une base de données MySQL pour le réutiliser plus tard?

22
Lukmo

Vous pouvez utiliser JSON.stringify() ( MDN doc ) et JSON.parse() ( MDN doc ) pour convertir un objet JavaScript en une représentation sous forme de chaîne en le stocker dans une base de données.

var arr = [ 1, 2, 3 ];

var serializedArr = JSON.stringify( arr );
// "[1, 2, 3]"

var unpackArr = JSON.parse( serializedArr );
// identical array to arr

Si votre backend est écrit en PHP, il existe des méthodes similaires pour travailler avec des chaînes JSON: json_encode() ( PHP doc ) et json_decode() ( Docu PHP ).

La plupart des autres langages offrent des fonctionnalités similaires pour les chaînes JSON.

48
Sirko

Vous pouvez utiliser JavaScript Object Notation (JSON) format.

Javascript prend en charge ces méthodes:

7
Engineer

Que diriez-vous juste JSON ing?

var arr = [1,2,3];
var arrSerialized = JSON.stringify(arr);
...

var arrExtracted = JSON.parse(arrSerialized);

Soit dit en passant, JSON est souvent utilisé pour la sérialisation dans certains autres langages, même s'ils ont leurs propres fonctions de sérialisation. )

5
raina77ow