如何在 MySQL/MariaDB 中将 LONGTEXT 字段作为 JSON 返回
Posted
技术标签:
【中文标题】如何在 MySQL/MariaDB 中将 LONGTEXT 字段作为 JSON 返回【英文标题】:How to return a LONGTEXT field as JSON in MySQL/MariaDB 【发布时间】:2020-05-13 00:29:52 【问题描述】:我有一个产品表,其中我将产品图像路径存储为 JSON 字符串(MariaDB 中的 LONGTEXT 类型),但是,当我使用 Node.js 查询数据库以获取产品列表并将数据发送到客户端时-side,它将图像路径作为字符串而不是数组对象接收。
问题:有没有办法告诉 mysql/MariaDB 将 LONGTEXT 字段作为 JSON 返回,或者我需要在 Node.js 中创建一个辅助函数来完成这项工作?
【问题讨论】:
【参考方案1】:您可以尝试使用 convert() JSON
CONVERT( your_long_text_col, JSON)
测试
select concat('"', CONVERT( '"id": 1, "name": "Monty"', JSON), '"');
【讨论】:
我试过这个:SELECT concat('"', CONVERT(imgs, JSON), '"') from products;
但是它在JSON), '"')
附近抛出错误1064
你使用的是哪个版本的mysql?? ...我用过 5.7
我用的是 10.4.6-MariaDB
检查 concat 示例测试是否有效 .. 如果有效 .. 然后检查 imgs 列内容中的有效 JSON .. 如果测试无效,则您的 db 版本不支持转换为 JSON 以上是关于如何在 MySQL/MariaDB 中将 LONGTEXT 字段作为 JSON 返回的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Scala 中将 IPv4 地址与 Long 进行转换