我可以在mySQL数据库中存储JavaScript对象吗?

har*_*e90 8 javascript database

我正在从网页访问者收集数据并将其放入我创建的JavaScript对象中.但后来我希望能够引用他们输入的数据.

我可以访问MySQL数据库,所以有没有办法在那里存储这个对象?

我想尝试将其保留为对象格式,而不是将其分解为单独的部分.

Ell*_*lle 13

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);
Run Code Online (Sandbox Code Playgroud)

  • 我的问题是:这是一种标准做法吗?还是我们应该避免这种做法? (3认同)
  • 您可以添加`<! - language:lang-js - >`让SO系统知道它应该使用哪种语言突出显示. (2认同)

Que*_*tin 10

不,你不能,至少不是这样.

您可以将其序列化为字符串.如果它完全由数组,简单对象和JSON格式支持的其他数据类型组成(如果它是用户提供的数据(如果上传二进制文件则主要例外,它可能会这样做)),那么你可以使用JSON序列化程序这样做.现代浏览器为此提供了JSON对象,json2.js将为旧浏览器进行polyfill.然后,您可以将该字符串存储在数据库中.

不将它分成单独的部分确实抛弃了使用关系数据库的许多优点(即关系和执行有用搜索的能力).


kev*_*628 0

看看JSON。 您可以使用jQuery之类的工具来序列化表单数据并将其发送到服务器。您也可以只使用普通的旧表单,并在服务器端处理输入。