Estrutura de Dados
No n8n, todos os dados passados entre nodes são um array de objetos. Eles seguem a seguinte estrutura:
Estrutura Básica
[
{
// Para a maioria dos dados:
// Envolva cada item em outro objeto, com a chave 'json'
"json": {
// Exemplo de dados
"nome": "João Silva",
"idade": 30,
"endereco": {
"rua": "Rua das Flores",
"numero": 123
}
},
// Para dados binários:
// Envolva cada item em outro objeto, com a chave 'binary'
"binary": {
// Exemplo de dados
"foto-perfil": {
"data": "....", // Dados binários codificados em Base64 (obrigatório)
"mimeType": "image/png", // Boa prática definir se possível (opcional)
"fileExtension": "png", // Boa prática definir se possível (opcional)
"fileName": "perfil.png", // Boa prática definir se possível (opcional)
}
}
},
]
Processamento de Itens de Dados
Pular a chave
json
e sintaxe de arrayA partir da versão 0.166.0, ao usar o Function node ou Code node, o n8n adiciona automaticamente a chave
json
se estiver faltando. Ele também envolve automaticamente seus itens em um array ([]
) se necessário. Isso só acontece ao usar os Function ou Code nodes. Ao construir seus próprios nodes, você ainda deve garantir que o node retorne dados com a chave json
. Exemplos Práticos
Dados Simples
[
{
"json": {
"id": 1,
"nome": "Produto A",
"preco": 29.99
}
},
{
"json": {
"id": 2,
"nome": "Produto B",
"preco": 49.99
}
}
]
Dados Aninhados
[
{
"json": {
"cliente": {
"id": "C001",
"nome": "Maria Santos",
"contato": {
"email": "maria@email.com",
"telefone": "(11) 99999-9999"
}
},
"pedidos": [
{"id": "P001", "valor": 150.00},
{"id": "P002", "valor": 75.50}
]
}
}
]
Dados Binários
[
{
"json": {
"nome": "documento.pdf"
},
"binary": {
"arquivo": {
"data": "JVBERi0xLjQKJcOkw7zDtsO...",
"mimeType": "application/pdf",
"fileExtension": "pdf",
"fileName": "documento.pdf"
}
}
}
]
Como os Dados Fluem
Cada node no n8n:
- Recebe dados no formato array de objetos
- Processa cada item individualmente (por padrão)
- Retorna dados no mesmo formato
Exemplo de Fluxo
Configurações de Execução
Execute Once
Para situações onde você não quer que um node processe todos os itens recebidos, você pode ativar o parâmetro Execute Once na aba Settings do node. Isso é útil quando os dados de entrada contêm múltiplos itens e você quer processar apenas o primeiro.
Processamento em Lote
Alguns nodes podem processar todos os itens de uma vez, enquanto outros processam item por item. Isso depende da configuração do node e do tipo de operação.
Próximos Passos
- Entenda Data Flow para ver como os dados se movem entre nodes
- Aprenda Transforming Data para modificar a estrutura dos dados
- Explore Data Mapping para mapear dados entre nodes
Recursos Relacionados
- Data Flow - Como os dados fluem entre nodes
- Transforming Data - Transformar estrutura de dados
- Binary Data - Trabalhar com arquivos e dados binários
- Core Nodes - Nodes para manipulação de dados