将JavaScript数组存储在数据库中,并在需要时返回数组

时间:2016-01-16 16:18:35

标签: javascript php json wordpress serialization

我有一个带有一些元数据数据的多维关联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]]

现在我可以将它存储在一列中的数据库中。但是,如何将其作为数组返回并使用它来填充字段?

1 个答案:

答案 0 :(得分:3)

将字符串保存为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);