如何在mysql数据库中存储多维javascript数组

时间:2011-06-10 13:51:38

标签: javascript mysql arrays serialization encoding

我有一个javascript应用程序,它将跟踪“画布”上几个对象的x& y坐标。我打算将这些数据存储在二维数组中,例如:

new Array(
    new Array(id0, x0, y0),
    new Array(id1, x1, y1),
    new Array(id2, x2, y2));

我想将这些数据提交到php脚本并将其存储在mysql数据库中,以便以后检索/重新显示。这样做的好方法是什么?我应该序列化数组并对其进行编码以便传输吗?我正在使用jQuery,所以如果有人知道这个框架中包含的任何好的功能都会很棒。谢谢!

2 个答案:

答案 0 :(得分:2)

最好的主意似乎是JSON

只需encode your array in JSON,将其发送到服务器。如果您不需要在服务器端操作数据,您甚至可以将JSON本身保存到MySQL。否则,所有广泛使用的服务器端语言都有JSON处理函数(json_decode()和PHP中的朋友)。

在返回的路径上(从服务器到Javascript),JSON再次是最简单的方法。您可以使用jQuery的getJSON()parseJSON()函数来处理它,并获取您的数组。

答案 1 :(得分:2)

将数组序列化为可存储格式(通常为字符串),将其发送到将其存储到数据库的服务器。

您可以使用JSON,XML或任何其他格式。我会选择JSON,因为它不那么冗长,然后在数据库中使用更少的空间。

但请注意,序列化数组会阻止使用数据库引擎进行任何查询。您必须提取数据,对其进行反序列化,检查它是否是您需要的数据,然后冲洗并重复直至找到正确的数组(除非你知道你正在寻找的数组的ID)

注意:不要忘记使用POST请求将其发送到服务器,因为GET请求有长度限制。