30

我正在使用 jquery 的 tag-it 库来制作标记系统(有点像 stackoverflow 系统)。

用户键入他的标签后,库返回一个我想保存在 MySQL 数据库中的 javascript 数组。我没有在 javascript 中找到序列化和反序列化函数。

在编写我自己的函数之前,我想确保我没有在这里重新发明轮子。没有本地方法可以将数组保存到数据库然后再次使用它,这似乎很疯狂。

tl;dr => 如何将 javascript 数组保存在 MySQL 数据库中以便以后重用?

4

3 回答 3

62

您可以使用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 字符串提供了类似的功能。

于 2012-07-03T13:34:08.017 回答
7

您可以使用JavaScript Object Notation( JSON) 格式。

Javascript支持这些方法:

于 2012-07-03T13:34:14.397 回答
5

只是JSON ing 怎么样?

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

var arrExtracted = JSON.parse(arrSerialized);

顺便说一句,JSON 通常用于在其他一些语言中进行序列化,即使它们有自己的序列化函数。)

于 2012-07-03T13:34:02.783 回答