【问题标题】:How to store a multi-dimensional javascript array in a mysql database如何在mysql数据库中存储多维javascript数组
【发布时间】:2011-09-12 12:46:17
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript mysql arrays serialization encoding


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      最好的主意似乎是JSON

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

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

      【讨论】:

        猜你喜欢
        • 2017-11-12
        • 2017-11-12
        • 2018-02-21
        • 1970-01-01
        • 2016-01-10
        • 2018-10-30
        • 2020-07-12
        • 2018-02-12
        • 2015-11-24
        相关资源
        最近更新 更多