【问题标题】:accessing mariadb COLUMN_JSON data in jscript在 javascript 中访问 mariadb COLUMN JSON 数据
【发布时间】:2017-01-21 15:05:23
【问题描述】:

我正在尝试在 javascript 中访问 COLUMN_JSON 数据,但遇到了问题。我拿了一个mariadb JSON example 并将其插入到一个表格中,如下所示:

UPDATE myTable
SET myJsonColumn = COLUMN_CREATE('color', 'blue', 'size', 'XL')
WHERE 1

当我使用 mysqlworkbench 看到它时,它看起来不错:

二进制视图:

0x00000000  7b 22 73 69 7a 65 22 3a 22 58 4c 22 2c 22 63 6f
0x00000010  6c 6f 72 22 3a 22 62 6c 75 65 22 7d

文本视图:

 {"size":"XL","color":"blue"}

但是,当数据通过 sequelize 进入 javascript 时,它看起来像这样:

console.log(数据):

3sizecolor!XL!blue

console.log(util.inspect(data)):

<Buffer 04 02 00 09 00 00 00 03 00 04 00 33 00 73 69 7a 65 63 6f 6c 6f 72 21 58 4c 21 62 6c 75 65>

JSON.stringify(数据):

{"type":"Buffer","data":  [4,2,0,9,0,0,0,3,0,4,0,51,0,115,105,122,101,99,111,108,111,114,33,88,76,33,98,108,117,101]}

我不知道解释这些数据的最佳方式。 JSON.parse() 或 JSON.stringify() 对我来说似乎无法正常工作。

myJsonColumn 是 sequelize 模型中的 BLOB 数据类型:

  myJsonColumn    :  Sequelize.BLOB,

在 javascript 中将此数据解释为 JSON 结构的最佳方法是什么?

【问题讨论】:

  • 需要“续集”吗?
  • 如果可能的话,我更喜欢使用 sequelize。
  • 但是 JSON 视图只是 JSON —— Javascript 可以理解 JSON。
  • 同意 - 但由于某种原因 js 无法识别它。也许续集的人可能会有一些想法。或者更有可能,我又做错了。

标签: javascript mysql json sequelize.js mariadb


【解决方案1】:

[sequelize.fn('COLUMN_JSON', sequelize.col('userJsonData')), 'userJsonData']

【讨论】:

  • 下一个挑战是使用 COLUMN_CREATE 回到另一条路
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 2017-03-21
  • 1970-01-01
  • 1970-01-01
  • 2020-12-26
相关资源
最近更新 更多