Ber*_*aus 1 mysql coldfusion json coldfusion-9
我从ColdFusion 9.0.1中的MySQL 5.7查询中获取了一个JSON字符串.这是我的查询:
SELECT (
SELECT GROUP_CONCAT(
JSON_OBJECT(
'nrtype', nrt.nrtype,
'number', nr.number
)
)
) AS nrJSON
FROM ...
Run Code Online (Sandbox Code Playgroud)
返回的数据如下所示:
{"nrtype": "Phone 1", "number": "12345678"},{"nrtype": "E-Mail 1", "number": "some@email.com"}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用DeserializeJSON()它时,我收到以下错误:
JSON parsing failure at character 44:',' in {"nrtype": "Phone 1", "number": "12345678"},{"nrtype": "E-Mail 1", "number": "some@email.com"}
Run Code Online (Sandbox Code Playgroud)
我有点困惑.我想得到的是由该DeserializeJSON()函数创建的结构.
我能做什么?
这不是解析器描述的有效JSON.如果将JSON包装在方括号'['和']'中,它将是有效的(或至少是可解析的).他们将使它成为一系列结构.不知道如何让MySQL返回这些括号内的数据?
我想你可以使用ColdFusion添加括号,但我更愿意让源代码正确执行.
jsonhack = '[' & queryname.nrJSON & ']';
datarecord = DeserializeJSON(jsonhack);
writeDump(datarecord);
Run Code Online (Sandbox Code Playgroud)
我创建了一个您可以在此处看到的数据示例 - trycf.com gist
从评论
解决方案确实是[将以下内容添加到SQL语句中]:
CONTACT('[',
GROUP_CONCAT(
JSON_OBJECT(...)
),
']')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |