Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql JSON.parse无法根据需要正常工作_Mysql_Json - Fatal编程技术网

Mysql JSON.parse无法根据需要正常工作

Mysql JSON.parse无法根据需要正常工作,mysql,json,Mysql,Json,我正在处理SQL及其JSON数据类型,我插入了一个数组对象并附加了新对象,但是当我使用 “更新介绍集所有回复=合并(JSON\u数组\u追加(角色,$,” +JSON.stringify(appendedData) +“),其中id2=1;” 然后当我在节点上解析数据时,它就不起作用了。 这里是插入数据的图片,底部是附加数据 但是你可以看到底部的“id-4”是不同的,当我把它打印到我的终端时,我已经试过解析它了 console.log(JSON.parse(结果[0]。所有_回复)) 事实

我正在处理SQL及其JSON数据类型,我插入了一个数组对象并附加了新对象,但是当我使用

“更新介绍集所有回复=合并(JSON\u数组\u追加(角色,$,”
+JSON.stringify(appendedData)
+“),其中id2=1;”
然后当我在节点上解析数据时,它就不起作用了。 这里是插入数据的图片,底部是附加数据

但是你可以看到底部的“id-4”是不同的,当我把它打印到我的终端时,我已经试过解析它了

console.log(JSON.parse(结果[0]。所有_回复))
事实上,我试过很多东西

console.log(eval(JSON.parse(结果[0]。所有回复)))
console.log(eval(结果[0]。所有_回复))
console.log(JSON.parse(JSON.stringify(结果[0]。所有_回复)))
所以基本上,每当我附加一个新对象时,它不会让我像插入一样解析它。 对不起,我事先解释得不好

var theJSON=[
{“id”:1,
“信息”:{
“用户名”:“亚马逊”,
“消息”:“jeff bezox.”,
“喜欢”:222,
“创建时间”:ers
} 
},
{“id”:2,
“信息”:{
“用户名”:“facebook”,
“信息”:“我知道你的身体”,
“喜欢”:92,
“创建时间”:ers
} 
},
{“id”:3,
“信息”:{
“用户名”:“fortnite”,
“留言”:“孩子们爱我lol”,
“喜欢”:12,
“创建时间”:ers
} 
}]
var appeeddata={“id”:1,
“信息”:{
“用户名”:“亚马逊”,
“消息”:“jeff bezox.”,
“喜欢”:222,
“创建时间”:ers
} 
}

就MySQL而言,您是在JSON数组中添加一个字符串

要让它将JSON解释为JSON,您需要强制转换它

比如说

let query=`更新介绍
设置所有回复=合并(
JSON_ARRAY_APPEND(角色,“$”,将(“${JSON.stringify(appendedData)}”转换为JSON)),
JSON_数组(空)
)其中id2=1`
演示~


仅供参考,在回答之前,我对这个话题一无所知,在MySQL手册中找到了我需要的一切。这是一个非常好的资源,非常值得一读。

欢迎来到Stack Overflow!请阅读,环顾四周,阅读,特别是邮政编码,数据,错误信息,标记等,作为文本,而不是作为文本图片。原因:我发布了代码和数据,没有任何真正的“错误”,只是没有做我需要做的事情,或者我的代码不正确。@vector17如果没有文本格式的数据,很难测试脚本。我们不会费心自己打字。例如,什么是
所有回复
——它不在您发布的JavaScript中。还有为什么要评估?@vector17-请重新阅读我上面的评论:“发布…数据…作为文本,而不是文本的图片。”对不起,我添加了数据。我误解了你的意思。你的查询中有一些语法错误,我似乎找不到位置。错误到底说明了什么?添加
console.log(查询)
以查看它的实际外观。最后,确保您使用的是一个而不是一个常规的stringlet查询=
updateintroductions SET all_repress=COALESCE(JSON_ARRAY_APPEND(all_repress,'$),CAST('${JSON.stringify(appendedData)}')、JSON_ARRAY(null)),其中id2=1
错误:ER_PARSE_错误:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以获取正确的语法,将near')用作JSON),JSON_ARRAY(null)),其中第1oh行的id2=1',抱歉,请稍候。