Преобразовать кириллические символы в JSON-полях

15 Апреля 2024 16:38

При хранении json в mysql часто бывает, что кириллические символы хранятся в виде \uXXXX. Преобразовать их можно следующим запросом:

SELECT CONVERT(JSON_UNQUOTE(JSON_EXTRACT(json_field, '$')) USING utf8) AS human_readable_json
FROM your_table;

Здесь:

  • json_field - это поле с JSON
  • $ - это путь в самом поле, по которому можно указать какие конкретно поля нужно преобразовывать. $ - означает от корня Json, но если нужно преобразовать конкретные ключи JSON, можно указать так $.resource.key, если бы у нас был JSON вида {"some_key": "value", "resource: {"key": "Кириллические символы"}"}.