在javascript中序列化和取消序列化数组

在javascript中序列化和取消序列化数组,javascript,jquery,tag-it,Javascript,Jquery,Tag It,我正在使用jquery的TagIt库来创建一个标记系统(有点像stackoverflow系统) 在用户键入标记后,库返回一个javascript数组,我想将其保存在MySQL数据库中。我没有在javascript中找到序列化和非序列化函数 在编写我自己的函数之前,我想确保我没有在这里重新发明轮子。似乎疯狂的是,没有原生方法将数组保存到数据库中,然后再次使用它 tl;dr=>我如何在MySQL数据库中保存javascript数组以供以后重用?如何将其重新存储 顺便说一句,JSON通常在其他一些语言

我正在使用jquery的TagIt库来创建一个标记系统(有点像stackoverflow系统)

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

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

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

如何将其重新存储


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

您可以使用
JSON.stringify()
()和
JSON.parse()
()将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()
()和
JSON_decode()
()


大多数其他语言为JSON字符串提供类似的功能。

您可以使用
JavaScript对象表示法
JSON
)格式

Javascript
支持以下方法:

  • ->将对象序列化为字符串

  • ->从字符串反序列化对象


JSON呢?这取决于你想如何保存它;您真的希望数据库中的所有标记都有一行,还是希望有单独的行?如果标签被分成不同的行,按标签搜索似乎会容易得多。这似乎是最好的方法。谢谢。好的,就像我说的,如果查询必须通过填充到单个列中的标签串进行搜索,那么按标签搜索的速度会慢得多。问题是我需要动态数量的标签,所以我不能使用单独的行,因为疯狂的用户可能希望一个条目包含30个标签。???只要有一个表,其中一列是主键,一列是标记。然后,您可以拥有任意多个标记。这是一种非常常见的数据库模式。我只想指出,JSON.parse将清理使用Newtonsoft.JSON.JsonConvert.SerializeObject的Web Api调用的序列化输出。在我的例子中,我有一个类似“[”行业“、”地区“、”主题“、”类型“]”的序列化字符串,JSON.parse将其转换为所需的字符串数组
var arr = [ 1, 2, 3 ];

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

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