存储包含MYSQL数据库中对象的javascript数组?

Storing a javascript array that contains objects in a MYSQL database?

所以在javascript中,我有一个类似这样的数组:

[{x1:0,x2:2000,y:300},{x1:50,x2:250,y:500}]

我想把它存储在数据库中的一个字段中。我想把它做成一个字符串,然后把它保存为文本,但我真的不知道一个非常有效和"聪明"的方法。我也听说过varbinary字段类型,但我不知道如何将其写入其中一个字段和对象/数组,以及如何读取它…

我最喜欢的是,如果它自动作为数组读取的话。我的MySQL插件(或者JS中调用的插件)将我的查询作为对象数组返回,比如:

[{id:0,bla:"text"},{id:0,bla:"text"}]

用于具有列ID和BLA的表中的查询。

假设我的数组存储在bla中,我希望返回的对象与此完全相同(但是如果不可能,我可以使用其他解决方案)。

[{id:0,bla:[{x1:0,x2:2000,y:300},{x1:50,x2:250,y:500}]},{id:0,bla:[{x1:0,x2:2000,y:300},{x1:50,x2:250,y:500}]}]

所以基本上我会得到一个包含两个对象的数组,每个对象都有属性bla和id,其中bla是一个具有属性x1、x2和y的对象数组。


somehow making it a string and then saving it as text, but I don't really know a very efficient and"smart" way to do that.

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

1
2
var myArr = [{x1:0,x2:2000,y:300},{x1:50,x2:250,y:500}];
myArrString = JSON.stringify(myArr);

稍后,当您从MySQL中得到JSON字符串时,您可以将其转换回带有JSON.parse()的数组,如下所示:

1
var myArr = JSON.parse(myArrString)

是的,如果您想知道,JSON功能已经添加到了JavaScript的标准代码库中:这就是它的流行程度。