【问题标题】:How to return a LONGTEXT field as JSON in MySQL/MariaDB如何在 MySQL/MariaDB 中将 LONGTEXT 字段作为 JSON 返回
【发布时间】:2020-05-13 00:29:52
【问题描述】:

我有一个产品表,其中我将产品图像路径存储为 JSON 字符串(MariaDB 中的 LONGTEXT 类型),但是,当我使用 Node.js 查询数据库以获取产品列表并将数据发送到客户端时-side,它将图像路径作为字符串而不是数组对象接收。

问题:有没有办法告诉 MySQL/MariaDB 将 LONGTEXT 字段作为 JSON 返回,或者我需要在 Node.js 中创建一个辅助函数来完成这项工作?

【问题讨论】:

    标签: mysql node.js mariadb


    【解决方案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
    猜你喜欢
    • 2016-12-09
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2017-11-29
    相关资源
    最近更新 更多