Повторяющаяся строка поля TEXT to JSON в MYSQL

0

Я пытаюсь дублировать поле TEXT в поле JSON.

Я пытаюсь:

UPDATE 'table' SET text_field = JSON_ARRAY(json_field);

Потому что без JSON_ARRAY он бросает эту ошибку:

#3140 - Invalid JSON text: "Invalid value."

Проблема в том, что у меня уже есть массив JSON в поле TEXT, так что JSON из текстового поля:

[{"tagname":"TEST","category":"DEFAULT","isnew":"yes","isdeleted":"no"}]

преобразуется в поле JSON следующим образом:

["[{\"tagname\":\"TEST\",\"category\":\"DEFAULT\",\"isnew\":\"yes\",\"isdeleted\":\"no\"}]"]

Я хочу, чтобы поле JSON имело формат JSON, такой как поле TEXT.

  • 0
    Итак, вам нужно просто вставить текстовую строку '[{"tagname": "TEST", "category": "DEFAULT", "isnew": "yes", "isdeleted": "no"}]' в текстовое поле?
  • 0
    Нет, мне нужно скопировать текстовое поле в поле JSON.
Показать ещё 4 комментария
Теги:

1 ответ

0

Используйте JSON_UNQUOTE для удаления \", которые экранируют поля.

  • 0
    Спасибо, но самая большая проблема в том, что с помощью JSON_ARRAY создается еще один массив в поле json.
  • 0
    Почему вы не используете JSON_ARRAY_APPEND или что-то вроде JSON_SET?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню