gpt4 book ai didi

MySQL JSON_OBJECT() 一些字段已经包含 JSON 字符串

转载 作者:行者123 更新时间:2023-11-30 21:55:40 25 4
gpt4 key购买 nike

如何获取 3 列的 JSON_OBJECT(),其一些已经包含 JSON 格式字符串

这是我的例子,info 字段包含一个 json 字符串,所以所有这个对象都被转义了:

SELECT 
T1.id,
CONCAT(
'{"elements": [',
GROUP_CONCAT(
JSON_OBJECT(
'type', T2.`type`,
'data', T2.`data`,
'info', T2.`info` <<-- JSON stored string in varchar(100)
)
),
']}'
) AS `elements`,
FROM `table` T1
INNER JOIN `table2` T2
ON T1.`id` = T2.`fk_t1_id`
GROUP BY T1.`id`

也许,使用JSON格式的新存储功能会更好,但我还没有测试过。你怎么看?

最佳答案

我找到的最佳解决方案是将 JSON_MERGE() 与 JSON_OBJECT() 和 CONCAT() 结合使用

SELECT 
T1.id,
CONCAT(
'{"elements": [',
GROUP_CONCAT(
JSON_MERGE(
JSON_OBJECT(
'type', T2.`type`,
'data', T2.`data`
),
CONCAT('{"info": ', T2.`info`, '}')
)
),
']}'
) AS `elements`,
FROM `table` T1
INNER JOIN `table2` T2
ON T1.`id` = T2.`fk_t1_id`
GROUP BY T1.`id`

关于MySQL JSON_OBJECT() 一些字段已经包含 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45278721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com