Serializing and unserializing an array in javascript

泄露秘密 提交于 2019-12-31 11:43:31

问题


I'm using the tag-it library for jquery to make a tagging system (a bit like the stackoverflow one).

After the user types his tags the library returns a javascript array that I want to save in a MySQL database. I didn't find a serialize and unserialize function in javascript.

Before coding my own function I'd like to make sure I'm not reinventing the wheel here. It seems crazy that there is no native way to save an array to a database and then use it again.

tl;dr => how can I save a javascript array in a MySQL database to reuse it later ?


回答1:


You can use JSON.stringify() (MDN docu) and JSON.parse() (MDN docu) for converting a JavaScript object into a string representation to store it inside a database.

var arr = [ 1, 2, 3 ];

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

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

If your backend is written in PHP, there are similar methods to work with JSON strings there: json_encode() (PHP docu) and json_decode() (PHP docu).

Most other languages offer similar functionalities for JSON strings.




回答2:


You can use JavaScript Object Notation(JSON) format.

Javascript supports these methods:

  • JSON.stringify -> serializes object to string

  • JSON.parse -> deserializes object from string




回答3:


How about just JSONing it?

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

var arrExtracted = JSON.parse(arrSerialized);

By the way, JSON is often used for serializing in some other languages, even though they have their own serializing functions. )



来源:https://stackoverflow.com/questions/11312046/serializing-and-unserializing-an-array-in-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!