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

时间:2012-05-10 18:17:05

标签: javascript mysql arrays object

所以在javascript中我有一个看起来像这样的数组:

  

[{X1:0,X2:2000,Y:300},{X1:50,X2:250,Y:500}]

我想将它存储在我的数据库中的单个字段中。我想到要么以某种方式使它成为一个字符串,然后将其保存为文本,但我真的不知道一个非常有效和“聪明”的方式来做到这一点。我也听说过VARBINARY字段类型,但我不知道如何编写和对象/数组到其中一个以及如何读取它...

我真正最喜欢的是它会自动被读作数组。我的MYSQL插件(或者在js中调用)将我的查询作为对象数组返回:

  

[{ID:0,血乳酸: “文本”},{ID:0,血乳酸: “文本”}]

对于具有collumns id和bla。

的表中的查询

好吧说我的数组存储在bla中,我希望在返回时我得到的对象看起来完全正确(但是如果不可能的话,我可以使用替代解决方案)。

  

[{ID:0,BLA:[{X1:0,X 2: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属性的对象数组。

1 个答案:

答案 0 :(得分:11)

  
    

以某种方式使它成为一个字符串,然后将其保存为文本,但我真的不知道一种非常有效和“智能”的方法来做到这一点。

  

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

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

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

var myArr = JSON.parse(myArrString)

是的,如果您想知道,JSON功能已添加到Javascript的标准代码库中:这就是它的受欢迎程度。