我正在使用 jquery 的 tag-it 库来制作标记系统(有点像 stackoverflow 系统)。
用户键入他的标签后,库返回一个我想保存在 MySQL 数据库中的 javascript 数组。我没有在 javascript 中找到序列化和反序列化函数。
在编写我自己的函数之前,我想确保我没有在这里重新发明轮子。没有本地方法可以将数组保存到数据库然后再次使用它,这似乎很疯狂。
tl;dr => 如何将 javascript 数组保存在 MySQL 数据库中以便以后重用?
我正在使用 jquery 的 tag-it 库来制作标记系统(有点像 stackoverflow 系统)。
用户键入他的标签后,库返回一个我想保存在 MySQL 数据库中的 javascript 数组。我没有在 javascript 中找到序列化和反序列化函数。
在编写我自己的函数之前,我想确保我没有在这里重新发明轮子。没有本地方法可以将数组保存到数据库然后再次使用它,这似乎很疯狂。
tl;dr => 如何将 javascript 数组保存在 MySQL 数据库中以便以后重用?
您可以使用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 字符串提供了类似的功能。
您可以使用JavaScript Object Notation
( JSON
) 格式。
Javascript
支持这些方法:
JSON.stringify ->将对象序列化为字符串
JSON.parse ->从字符串反序列化对象
只是JSON ing 怎么样?
var arr = [1,2,3];
var arrSerialized = JSON.stringify(arr);
...
var arrExtracted = JSON.parse(arrSerialized);
顺便说一句,JSON 通常用于在其他一些语言中进行序列化,即使它们有自己的序列化函数。)