JSON в n8n: как превратить список отзывов в отдельные items
Разбери отличие массива внутри JSON от нескольких items и настрой Split Out на учебных отзывах без внешних отправок.
В n8n пришли три отзыва, а следующий узел обработал только одну запись. Частая причина — отзывы лежат массивом внутри одного item. Список внутри JSON и несколько items в потоке — разные структуры. Разберём это без подключения почты, таблиц и платной модели.

1. Подготовь один item со списком
Создай workflow с Manual Trigger и узлом Edit Fields. Выбери JSON Output и вставь учебный объект:
{
"batch_id": "pilot-01",
"reviews": [
{"id": "r1", "text": "Не нашёл кнопку экспорта"},
{"id": "r2", "text": "Поиск помог найти инструкцию"},
{"id": "r3", "text": "Неясно, кто обновляет статью"}
]
}
Запусти узел и открой выход в JSON-представлении. Ожидается один item с полями batch_id и reviews. Внутри reviews находятся три объекта. Это учебные отзывы, не результаты реального исследования.
В документации n8n о структуре данных объясняется передача items между узлами. Поле $json относится к текущему item. Поэтому наличие трёх элементов внутри одного поля ещё не означает три отдельных обработки.
2. Раздели массив через Split Out
Добавь после Edit Fields узел Split Out. Настрой:
| Поле | Значение |
|---|---|
| Field to Split Out | reviews |
| Include | Selected Other Fields |
| Fields to Include | batch_id |
| Destination Field Name | review |
Опции описаны в официальной справке Split Out. Имя выходного поля review выбрано нами, чтобы явно отделить один отзыв от исходного списка reviews.
Запусти узел. Теперь ожидаются три items. В каждом должны сохраниться batch_id и один объект review. Проверь все три, а не только первый видимый пример.
3. Приведи данные к плоской таблице
После Split Out добавь ещё один Edit Fields. В ручном режиме создай поля batch_id, review_id и text. Значения перетащи из входных данных либо задай выражениями:
batch_id: {{ $json.batch_id }}
review_id: {{ $json.review.id }}
text: {{ $json.review.text }}
Оставь в результате только эти поля, если интерфейс предлагает настройку включения остальных входных полей. Получится набор, который удобно передать классификатору или в таблицу:
| batch_id | review_id | text |
|---|---|---|
| pilot-01 | r1 | Не нашёл кнопку экспорта |
| pilot-01 | r2 | Поиск помог найти инструкцию |
| pilot-01 | r3 | Неясно, кто обновляет статью |
Не добавляй пока узел отправки или записи. Сначала проверь преобразование: три исходных отзыва должны соответствовать трём выходным записям с теми же ID и текстами.
4. Проверь границы на маленьких примерах
Удали из учебного массива два отзыва и повтори запуск: ожидается один выходной item. Затем верни исходные данные. Измени текст r2 и убедись, что изменилась только соответствующая строка. Такой тест помогает заметить ошибочное обращение к первому элементу списка вместо текущего item.
Пустой массив, отсутствующее поле и строка с текстом JSON — разные входы. В рабочем процессе заранее проверь, что reviews существует и является массивом. Не передавай строку вида "[{...}]" как будто это уже список объектов. Для пустого набора реши, нужен ли отдельный статус «нет отзывов», и проверь это поведение в своей версии n8n.
Если число items уже равно трём до Split Out, повторное разделение может быть не нужно. Посмотри входную структуру, прежде чем добавлять узлы. Подробнее про пути полей — в руководстве по mapping.
Моя рекомендация: сохранять ID исходной записи на всех шагах. Без него трудно понять, какому отзыву принадлежит результат классификации и не потерялась ли запись.
Подключай ИИ после проверки структуры
Когда преобразование работает, можно добавить классификацию каждого текста. Сохрани review_id рядом с ответом модели и проверь количество результатов. Если вход приходит извне, сначала настрой приём JSON через webhook. Полные автоматизации разбираем на курсе по агентам.
JSON учебного примера проверен синтаксически. Настройки сверены с документацией; живой workflow n8n при подготовке статьи не запускался.
Собери своего ИИ-агента и проверь результат
«AI Agents: от vibe coding к AI-команде»: desktop agents, MCP, skills, evals и harness. Отдельные воркшопы — от подключения инструментов до контроля качества.
7 практических воркшопов · записи · вопросы автору в чате
Посмотреть программу курса ↗