MySQL JSON_ARRAY_APPEND 删除不必要的 \ 和 "
MySQL JSON_ARRAY_APPEND Remove unnecessary \ and "
我有 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}}}
您需要 CAST 字符串为 JSON。
试试这个:
UPDATE calculation
SET payment = JSON_ARRAY_APPEND(payment, '$', CAST('{"2018": {"1": {"payed": 0,"charge": 0}}}' as JSON));
我有 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}}}
您需要 CAST 字符串为 JSON。
试试这个:
UPDATE calculation
SET payment = JSON_ARRAY_APPEND(payment, '$', CAST('{"2018": {"1": {"payed": 0,"charge": 0}}}' as JSON));