--- Название: Работы с JSON --- # Работа с JSON С [некоторыми базами данных](#БД-которые-поддерживают-распаковку-json), Glarus BI может распаковать колонки JSON в поля их внутренних компонентов, которые затем вы можете фильтровать используя конструктор запросов. Вот таблица с колонкой, которая содержит JSON. ![Таблица с колонкой JSON](./images/table-with-json-column.png) Glarus BI может распаковать колонку JSON таким образом, что каждый ключ в объекте JSON получает свою колонку в таблице. Вот нераспакованные поля таблицы с колонкой JSON column из картинки выше: ![Нераспакованные поля](./images/unfolded-fields.png) И здесь видны значения как в таблице: ![Нераспакованные значения](./images/unfolded-values.png) Такая распаковка позволяет вам фильтровать значения, найденные в оригинальном JSON объекте. Glarus BI поставит префикс распакованной колонке с оригинальным именем колонки, содержащей JSON. Вы можете поменять названия колонок в **Настройки администратора** > [Таблица метаданных](metadata-editing.md), или создавая [модель](./models.md) и редактируя колонки метаданных. ## Переключение распаковки JSON для базы данных Если вы замечаете снижение производительности из-за этой распаковки JSON, мы рекомендуем выключить ее. Выключить распаковку JSON для базы данных: 1. Кликаем на **Шестеренку** вверху справа. 2. Выбираем **Настройки администратора** 3. Идем в раздел **Базы данных**. 4. Выбираем релевантную базу данных. 5. Кликаем **Показать расширенные опции**. 6. Переключаем **Разрешить распаковку колонок JSON**. 7. Скользим вниз и щелкаем кнопку **Записать изменения**. 8. Кликаем **Синхронизировать схему базы данных сейчас**. 9. Кликаем **Пересканировать поле значений сейчас**. ## Переключение распаковки JSON для отдельной колонки Если деградирует производительность, или вы предпочли бы держать JSON в оригинальной колонке, вы можете выключить распаковку отдельного поля в его настройках. 1. Щелкам на **Шестеренку** вверху справа. 2. Выбираем **Настройки администратора**. 3. Идем в **Таблица метаданных**. 4. Выбираем базу данных, которая содержит поля, которые мы хотим обновить. 5. Выбираем таблицу, которая содержит поле. 6. Выбираем поле, содержащее оригинальный JSON 7. Скользим до опции **Распаковать JSON** и выбираем **Да** или **Нет**. Если колонка была распакована, Glarus BI скроет данный JSON, чтобы колонка JSON появилась вновь, нужно изменить отображение колонки в разделе **Везде**. 8. Кользим вниз и кликаем на **Пересканировать это поле**. ![Настройки распаковки JSON](./images/unfold-json-setting.png) ## Для работы распаковки JSON, данные в колонке должны быть в формате JSON Например, если вы подгружаете CSV с JSON, вам придется обновить тип данных в базе данных. Обратите внимание, что вы не можете редактировать тип данных в Glarus BI; вы только можете изменить тип поля. Таким образом, даже если тип поля в Glarus BI стало `Поле содержащее JSON`, если тип данных не `JSON`, Glarus BI не даст вам возможность распаковать колонку. Вам придется поменять тип колонки в самой базе данных. ## БД-которые-поддерживают-распаковку-json - [PostgreSQL](../databases/connections/postgresql.md) - [MySQL](../databases/connections/mysql.md)