将 MySQL 查询的 JSON 转换为 Object

Posted

技术标签:

【中文标题】将 MySQL 查询的 JSON 转换为 Object【英文标题】:Converting MySQL queried JSON to Object 【发布时间】:2021-07-04 06:36:56 【问题描述】:

我一直在努力将下面的 mysql 查询 JSON 对象转换为普通对象。关于如何解决这个问题的任何想法?我已经尝试了很长时间,但似乎无法找到解决方案。感谢您的宝贵时间。

"lectures":"\"id\":1,\"lecture_id\":9,\"school\":\"University\",\"location\":\"London\",\"class\":\"21\",\"subject\":\"Advanced Maths\",\"teacher_name\":\"John Andrews\",\"teacher_email\":\"test@yahoo.com\",\"start_time\":\"18:00\",\"end_time\":\"21:00\",\"date\":\"Wed Apr 14 2021\",\"room_uuid\":\"0b762ce4-eb04-4068-a199-f32bdb694d47\",\"room_password\":\"pw\",\"additional_notes\":\"Bring protractor\""

我的代码如下。

con.query("SELECT column FROM table", (err, latestEnrolment) => 
        if(err) throw err;
    );

    try
        await res.render('ejs',  
            latestEnrolment
        );
    catch(err)
        console.log(err);
    

【问题讨论】:

你试过这个吗:JSON.parse(response.lectures) 这里的响应是上面的值 这个 JSON 有什么问题?正常的合法价值... 嗨 Abhishek,我尝试了您的解决方案,但得到了 SyntaxError: Unexpected token u in JSON at position 0 嗨,Akina,我以后需要将它用于桌子,但由于表格无法使用而无法使用 【参考方案1】:

试试这个 -

let lecturesString = object['lectures'].replace("\\", "")

let lecturesObj = JSON.parse(lecturesString)

console.log(lecturesObj)

【讨论】:

感谢您的回复。我用查询结果 'queryResponse' 替换了 'object['lectures'] 但出现错误 TypeError: queryResponse.replace is not a function con.query("从账户中选择讲座'", (err, latestEnrolment) => if(err) throw err; );尝试等待 res.render('ejs', latestEnrolment ); catch(err) console.log(err);

以上是关于将 MySQL 查询的 JSON 转换为 Object的主要内容,如果未能解决你的问题,请参考以下文章

使用python将mySql查询结果转换为json

将使用 JSON_EXTRACT 的查询从 MySQL 转换为 BigQuery

将 MySQL 结果转换为 JSON 的效率

PHP mySql 数据到 JSON 文件

如何将 mysqli 结果转换为 JSON? [复制]

将 JSON 字符串转换为对象并显示为 HTML 表格