Мастер преобразования JSON по правилам
Переименовывать, переносить и вычислять поля через ограниченный DSL; сохранять рецепт и журнал.
Методика и примеры
Мастер преобразования 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"
}
]Результат примера
| record | rule | op | path | type |
|---|---|---|---|---|
| 1 | 1 | move | /profile/name | string |
| 1 | 2 | number | /total | integer |
Показано строк: 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"
}
]Результат примера
| record | rule | op | path | type | status | message |
|---|---|---|---|---|---|---|
| 1 | 1 | move | /profile/name | string | ||
| 1 | 2 | number | /total | integer | ||
| 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"
}
]Результат примера
| record | target | sources | operation |
|---|---|---|---|
| 1 | /profile/name | ["/name"] | move |
| 1 | /total | ["/amount"] | number |
Показано строк: 2 из 2.
Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.
