Мастер преобразования JSON по правилам

Переименовывать, переносить и вычислять поля через ограниченный DSL; сохранять рецепт и журнал.

Рабочая область

Обработка на устройстве. Файлы и текст не отправляются в аналитику. Ctrl/Cmd+Enter — запуск.

Загрузка локальной обработки…

Настройки

Настройки содержат параметры, без исходных файлов. Автоматического сохранения нет.

Метод и ограничения

Выполняет явный DSL copy/move/set/delete/number/string/sum/concat по JSON Pointer, сохраняет журнал, происхождение и оригинал. JavaScript, массивные перестройки и неизвестные операции не исполняются.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Методика и примеры

Мастер преобразования JSON по правилам

Выполняет явный DSL copy/move/set/delete/number/string/sum/concat по JSON Pointer, сохраняет журнал, происхождение и оригинал. JavaScript, массивные перестройки и неизвестные операции не исполняются.

Входные данные примера

Основной источник

{
  "name": "Анна",
  "amount": "120"
}

Второй источник

[
  {
    "op": "move",
    "from": "/name",
    "path": "/profile/name"
  },
  {
    "op": "number",
    "from": "/amount",
    "path": "/total"
  }
]

Результат примера

recordruleoppathtype
11move/profile/namestring
12number/totalinteger

Показано строк: 2 из 2.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Пакетная миграция версии JSON-схемы

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

Входные данные примера

Основной источник

[
  {
    "name": "Анна",
    "amount": "120"
  },
  {
    "name": "Борис",
    "amount": "ошибка"
  }
]

Второй источник

[
  {
    "op": "move",
    "from": "/name",
    "path": "/profile/name"
  },
  {
    "op": "number",
    "from": "/amount",
    "path": "/total"
  }
]

Результат примера

recordruleoppathtypestatusmessage
11move/profile/namestring
12number/totalinteger
2отклоненоЧисло: нужно конечное число в диапазоне ±10¹⁵.

Показано строк: 3 из 3.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Карта происхождения полей JSON-преобразования

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

Входные данные примера

Основной источник

{
  "name": "Анна",
  "amount": "120"
}

Второй источник

[
  {
    "op": "move",
    "from": "/name",
    "path": "/profile/name"
  },
  {
    "op": "number",
    "from": "/amount",
    "path": "/total"
  }
]

Результат примера

recordtargetsourcesoperation
1/profile/name["/name"]move
1/total["/amount"]number

Показано строк: 2 из 2.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Источники метода

Следующая задача