Статьи о создании сайтов

Как сохраняются значения динамических полей в JSON

Определения контейнера и значения объекта разделены. Что означает вложенное value, почему старые ключи сохраняются и как проверять перенос данных.

На этой странице
  1. Разделите определение и значение
  2. Не путайте JSON со свободным форматом
  3. Проверяйте перенос на контрольных примерах
  4. Продолжить работу

Разделите определение и значение

Контейнер описывает поля: ключ, подпись, тип, права и другие параметры. Объект хранит значения под этими ключами. Такая модель позволяет использовать разный набор характеристик в разных разделах без новой SQL-колонки для каждой подписи.

В Switch Pages современные значения обычно включают тип и value, при этом чтение поддерживает и прежние скалярные варианты. Например, старое строковое значение и вложенная запись с value могут быть доступны через общий метод чтения. Это помогает сохранять существующие данные при развитии ядра.

Не путайте JSON со свободным форматом

Гибкое хранение не отменяет определений и проверки. Число, допустимый пункт списка и дата проверяются по типу поля. Неизвестные или устаревшие ключи сохраняются при обычном редактировании, но это не означает их автоматический публичный вывод.

Если значение нужно преобразовать, например из сантиметров в миллиметры, составьте явную миграцию с проверенной копией. Простое изменение подписи или типа в произвольном SQL не переводит прежние данные в новый смысл. В штатных определениях тип существующего поля сохраняется; для другого типа создают новое поле.

Проверяйте перенос на контрольных примерах

Сохраните исходный JSON нескольких объектов, включая старые и вложенные значения. После миграции сравните ключи, содержание, ID и привязки медиа. Отдельно откройте запись и сохраните небольшое разрешённое изменение, убедившись, что соседние исторические значения не потерялись.

Не выводите весь JSON посетителю ради удобства фронтенда: внутри могут быть непубличные сведения. Представление должно применять определения и права. JSON является способом хранения модели, а не разрешением обходить валидацию, роль пользователя и контроль фактического вывода.

Продолжить работу

Проверьте структуру и права на отдельной копии перед массовым переносом. Сопоставьте задачу с возможностями ядра. Другой материал этого раздела: Множественный выбор для признаков и удобств.

← Статьи о создании сайтов

Создайте сайт сами

Посмотрите, как вы будете управлять своим сайтом

Изучите интерфейс Switch Pages и проверьте, подходит ли движок под вашу задачу.

Демо доступно бесплатно после регистрации на основном сайте.