我正在收集来自网页访问者的数据并将其放入我创建的JavaScript对象中。但后来我希望能够引用他们输入的数据。我可以将JavaScript对象存储在mySQL数据库中吗?
我有权访问MySQL数据库,那么有没有办法让我在这里存储这个对象?
我想尝试将它保留在对象格式中,而不是将它分解为单独的部分。
我正在收集来自网页访问者的数据并将其放入我创建的JavaScript对象中。但后来我希望能够引用他们输入的数据。我可以将JavaScript对象存储在mySQL数据库中吗?
我有权访问MySQL数据库,那么有没有办法让我在这里存储这个对象?
我想尝试将它保留在对象格式中,而不是将它分解为单独的部分。
只需使用varchar或文本数据类型将其作为JSON对象存储在字段中即可。
不,你不能,至少不会。
您可能会将其串行化为字符串。如果它完全由数组,简单对象和JSON format支持的其他数据类型组成(如果它是用户提供的数据(如果二进制文件上传时是主要异常),它可能会执行此操作),那么您可以使用JSON序列化器来这样做。现代浏览器为此提供JSON object,json2.js将为旧版浏览器填充。然后您可以将该字符串存储在数据库中。
不把它分解成单独的部分确实会抛弃使用关系数据库的许多优点(即关系和执行有用搜索的能力)。
在数据库中存储您的对象的JSON.stringified
版本,然后JSON.parse
当您希望对象再次返回时。它看起来像这样:
var myObj = {some: data, other: stuff};
var myObjString = JSON.stringify(myObj);
// store string in mySQL database here
// load string from database
var myJSONString = //mySQL database call
var myLoadedObj = JSON.parse(myJSONString);
您可以添加'<! - language:lang-js - >'让SO系统知道应该使用哪种语言突出显示。 – lonesomeday
哦,好吧,很酷。谢谢。 –
您可以序列化对象并将其存储在数据库中。 – Quantastical
为什么要存储对象?为什么不直接存储价值? – Limey