gpt4 book ai didi

mysql - 错误 DeserializeJSON() MySQL json_object

转载 作者:行者123 更新时间:2023-11-29 04:05:48 27 4
gpt4 key购买 nike

我正在从 ColdFusion 9.0.1 中的 MySQL 5.7 查询中取回一个 JSON 字符串。这是我的查询:

SELECT  (
SELECT GROUP_CONCAT(
JSON_OBJECT(
'nrtype', nrt.nrtype,
'number', nr.number
)
)
) AS nrJSON
FROM ...

返回的数据如下所示:

{"nrtype": "Phone 1", "number": "12345678"},{"nrtype": "E-Mail 1", "number": "some@email.com"}

但是当我尝试对其使用 DeserializeJSON() 时,我收到以下错误:

JSON parsing failure at character 44:',' in {"nrtype": "Phone 1", "number": "12345678"},{"nrtype": "E-Mail 1", "number": "some@email.com"}

我有点懵。我想要得到的是由 DeserializeJSON() 函数创建的结构。

我能做什么?

最佳答案

正如解析器所描述的那样,这不是有效的 JSON。如果将该 JSON 包装在方括号“[”和“]”中,它将是有效的(或至少是可解析的)。他们将使它成为一个结构数组。不确定如何让 MySQL 返回这些括号内的数据?

我想您可以使用 ColdFusion 添加方括号,但我更愿意让源正确地完成它。

jsonhack = '[' & queryname.nrJSON & ']';
datarecord = DeserializeJSON(jsonhack);
writeDump(datarecord);

我用您的数据创建了一个示例,您可以在此处看到 - trycf.com gist

来自评论

解决方案确实是[将以下内容添加到 SQL 语句]:

CONTACT('[', 
GROUP_CONCAT(
JSON_OBJECT(...)
),
']')

关于mysql - 错误 DeserializeJSON() MySQL json_object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41266568/

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