在数据库中存储一个 JavaScript 数组,并在需要时取回数组

Store a JavaScript array in the DB and get array back when needed

本文关键字:数组 一个 存储 数据库 JavaScript      更新时间:2023-09-26

我有一个多维关联JavaScript数组,其中包含一些元框数据,我需要将该数组存储在WordPress数据库中(在单个列中)。

我还想在元框回调函数中获取存储的数组,并使用数组中的值来填充相关字段。

这就是我到目前为止所做的...

    var data = [
        { key: 'cardK', val: 13 },
        { key: 'cardQ', val: 12 },
        { key: 'cardAJ', val: 11 },
    ];
    var serializedData= JSON.stringify( data );

这将输出一个如下所示的字符串

[[1,2],[3,4],[5,6]]

现在我可以将其存储在数据库中的单个列中。但是我怎样才能把它作为一个数组回来并用它来填充字段呢?

将字符串另存为 JSON,如下所示:

var data = [[1,2],[3,4],[5,6]];
var serializedData = JSON.stringify(data);

在转换之前,请确保在使用 json_decode() 之前替换 json 中已更改的任何数据以使其成为有效的 json。

使用此函数:

str_replace();

要在 PHP 端将其转换为数组:

json_decode(data, true); // returns array
json_decode(data); // returns an object, not an array.

当你从 MySQL 获取 JSON 字符串时,你可以用 JSON.parse() 将其重新转换为数组,如下所示:

var returnedArr = JSON.parse(returnedData);