json_search выдает ошибку MySQL - # 2014 - команды не синхронизированы; Вы не можете запустить эту команду сейчас

0

Я использую json_search для поиска форматированных json-данных из столбца. Для нормальных json-данных он работает нормально. Но он не работает, если строка имеет двойную кавычку.

MySQL Query

SELECT JSON_SEARCH(user_information, 'one', '%name%', null, '$[*].label');

Он отлично работает для регулярных json-данных, но не работает для данных ниже, которые хранятся в базе данных одного столбца.

Пример данных, по которому запрос не работает:

[{ 
  "name":"John Smith",
  "value":"John",
  "label":"Sm"ith"
}]


Здесь приведен пример db-скрипта.

Как вы можете видеть в данных, для ключа метки строка имеет значение sm"ith Я", я только что добавил одну двойную кавычку середины строки, а затем она показывает ниже ошибку на db-скрипте.

Недопустимый текст JSON в аргументе 1 для функции json_search: "Отсутствие запятой или") после члена объекта. "

Но на моем локальном хосте он показывает ошибку ниже.


2014 - Команды не синхронизированы; вы не можете запустить эту команду сейчас

Теги:

1 ответ

0
Лучший ответ

Вы должны использовать двойную обратную косую черту, см. " Создание значений JSON".

mysql> SELECT JSON_VALID('
    '> [
    '>   { 
    '>     "name":"John Smith",
    '>     "value":"John",
    '>     "label":"Sm"ith"
    '>   }
    '> ]
    '> ') 'is_json_valid?';
+----------------+
| is_json_valid? |
+----------------+
|              0 |
+----------------+
1 row in set (0.00 sec)

mysql> SELECT JSON_VALID('
    '> [
    '>   { 
    '>     "name":"John Smith",
    '>     "value":"John",
    '>     "label":"Sm\\"ith"
    '>   }
    '> ]
    '> ') 'is_json_valid?';
+----------------+
| is_json_valid? |
+----------------+
|              1 |
+----------------+
1 row in set (0.00 sec)
  • 0
    Спасибо @wchiquito ...! Он работает нормально, но есть ли способ сделать JSON в хорошем формате из запроса MySQL?
  • 0
    @Onkar: Из запроса MySQL? А можно поподробнее?.
Показать ещё 2 комментария

Ещё вопросы

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