【发布时间】:2018-07-03 23:20:20
【问题描述】:
这就是问题所在。我希望将具有嵌套数组的对象存储到我的数据库中的 SQL 列中。我的目标是存储整个对象并在必要时检索它。无需访问 JSON 对象中的单个项目。
现在我正在做的是对数组进行字符串化以将其发送到数据库中,将其存储为字符串,然后在检索信息时使用JSON_decode($string, true) 对其进行解码,但 JSON_decode 在数组中给了我一个大字符串我不能用它做任何事情
这就是我的数组的样子
var profileData = {
profileIndex:[0],
myProfile:
[
[[[ 'First Name:','']],[['Last Name:','']],[[ 'Title:','']],[['Company','']],[['Cell:',''] ....
]
(它继续使用更多的值,但你明白了)
这是从服务器解码字符串后返回的内容
["[[[\"First Name\",\"Random name\"]],[[\"Last Name\",\"Some Value\"]],[[\"Job Title\",\"Random job title\"]],[[\"Company\",\"Random company\"]] ... "]
有没有办法直接将它作为 JSON 对象存储到 MySQL 中?或者我应该怎么做才能完成我想做的事情
提前致谢
【问题讨论】:
-
JSON 是 文本。如何在 MySQL 中存储 text?如何将 JSON text 转换为对象图(反之亦然)?看起来有一个太多的编码或没有足够的解码..
-
你运行的是什么版本的 MySQL?最近的版本具有 JSON 特定的数据类型
-
MySQL 8 也有一个 *native" JSON 类型:dev.mysql.com/doc/refman/8.0/en/json.html 与 varchar 类型相比,这可能值得探索。
-
@RiggsFolly 我尝试使用 JSON 类型,但它没有将其视为有效数据类型。我通过使用 JSON.parse() 解决了这个问题,它给了我我想要的东西。感谢您的回复。
-
@Farynx JSON 从 mysql 5.7 开始,但是你需要一个最新的 PDO 驱动程序(它是数据类型 245 上的一个)。