mysql json\u array\u append remove unnecessable\ and“

t5zmwmid  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(387)

我在mysql中有一个json格式,很好:

{"2017": {"1": {"payed": 0, "charge": 0}}}

现在我需要再加上一年,json现在看起来是这样的:

{"2017": {"1": {"payed": 0, "charge": 0}}, "2018": {"1": {"payed": 0, "charge": 0}}}

我尝试使用以下mysql代码:

UPDATE calculation 
SET payment = JSON_ARRAY_APPEND(payment, '$', '{"2018": {"1": {"payed": 0,"charge": 0}}}');

我得到了这个:

[{"2017": {"1": {"payed": 0, "charge": 0}}}, "{\"2018\": {\"1\": {\"payed\": 0,\"charge\": 0}}}"]

所以你看到我有反斜杠\需要删除它,而且在开头和结尾也是不必要的“所以如何删除它以得到想要的效果,这看起来就像这样:

{"2017": {"1": {"payed": 0, "charge": 0}}, "2018": {"1": {"payed": 0, "charge": 0}}}
xriantvc

xriantvc1#

您需要将字符串转换为json。
试试这个:

UPDATE calculation 
SET payment = JSON_ARRAY_APPEND(payment, '$', CAST('{"2018": {"1": {"payed": 0,"charge": 0}}}' as JSON));

相关问题