【发布时间】:2019-08-19 04:27:15
【问题描述】:
当使用 JSON.stringify 在 Mysql 中保存 JSON 对象时,它会将字符“\”放入字符串中。我正在构建一个 VIEW,我需要用 json_extract 分隔数据,因为我使用了 MySql REPLACE 命令但返回为 null。
已编辑
字段“DADOS”中的 JSON (LONGTEXT)
{
"pessoal":"[{\"nome\":\"Marie Luiza Novaes\",\"nascimento\":\"1994-06-20\",\"civil\":\"Casado(a)\",\"sexo\":\"F\",\"rg\":\"469326293\",\"cpf\":\"06649073504\"}]",
"contato":[],
"interesse":[],
"adicional":[],
"profissional":[],
"academico":[],
"anotacoes":[],
"extras":"[]"
}
1 - 获取姓名
SELECT
json_extract (REPLACE(dados,'\\"','"'), '$.pessoal[0].nome') dados
FROM
cadastro
2 - 获取姓名
SELECT
json_extract (REPLACE(dados,'\\',''), '$.pessoal[0].nome') dados
FROM
cadastro
【问题讨论】:
-
那个反斜杠只是一个人工制品,表示转义为
\"的双引号只是literal双引号。 不要'尝试删除反斜杠,因为它在 JSON 中并不存在。 -
我试过没有 REPLACE 结果还是空