我正在使用tag-it库为jquery创建一个标记系统(有点像stackoverflow)。
用户键入其标签后,库会返回一个我想要保存在MySQL数据库中的javascript数组。我没有在javascript中找到序列化和反序列化函数。
在编写我自己的功能之前,我想确保我不是在这里重新发明轮子。似乎很疯狂,没有本地方法将数组保存到数据库然后再次使用它。
tl; dr =>如何在MySQL数据库中保存javascript数组以便以后重用?
答案 0 :(得分:48)
您可以使用JSON.stringify()
(MDN docu)和JSON.parse()
(MDN docu)将JavaScript对象转换为字符串表示形式,以将其存储在数据库中。
var arr = [ 1, 2, 3 ];
var serializedArr = JSON.stringify( arr );
// "[1, 2, 3]"
var unpackArr = JSON.parse( serializedArr );
// identical array to arr
如果您的后端是用PHP编写的,那么有类似的方法可以使用JSON字符串:json_encode()
(PHP docu)和json_decode()
(PHP docu)。
大多数其他语言为JSON字符串提供类似的功能。
答案 1 :(得分:7)
您可以使用JavaScript Object Notation
(JSON
)格式。
Javascript
支持以下方法:
JSON.stringify - > 将对象序列化为字符串
JSON.parse - > 从字符串反序列化对象
答案 2 :(得分:5)
仅仅JSON呢?
var arr = [1,2,3];
var arrSerialized = JSON.stringify(arr);
...
var arrExtracted = JSON.parse(arrSerialized);
顺便说一句,JSON经常用于其他语言的序列化,即使它们有自己的序列化功能。 )