Pular para o conteúdo principal

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 array

A 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:

  1. Recebe dados no formato array de objetos
  2. Processa cada item individualmente (por padrão)
  3. 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

  1. Entenda Data Flow para ver como os dados se movem entre nodes
  2. Aprenda Transforming Data para modificar a estrutura dos dados
  3. Explore Data Mapping para mapear dados entre nodes

Recursos Relacionados