Newsletter

[object Object] no n8n: o que significa esse erro e como corrigir

Não é erro de sintaxe: sua expressão parou num recipiente em vez do valor. As três variações do problema e a correção de dez segundos.

[object Object] no n8n: o que significa esse erro e como corrigir

Quando uma expressão devolve [object Object], ela está funcionando — o problema é que você parou no meio do caminho. Esse texto aparece quando a expressão aponta para uma estrutura em vez de um valor: você pediu a caixa, não o que está dentro dela. A correção é quase sempre continuar descendo até o campo final, e leva dez segundos depois que você entende o que está vendo.

Adicione ao Google Notícias

O que essa mensagem realmente significa

Todo campo no n8n pode conter duas coisas: um valor simples (texto, número, data) ou outra estrutura com campos dentro.

Quando você pede um valor simples, recebe o valor. Quando pede uma estrutura e o n8n precisa transformá-la em texto para caber num campo de texto, ele devolve a representação genérica: [object Object].

Ou seja: não é erro de sintaxe, não é campo inexistente, não é credencial. É nível errado.

O exemplo que esclarece

Suponha que o item tenha esta forma:

{
  "nome": "First item",
  "nested": {
    "example-number-field": 1,
    "example-string-field": "apples"
  }
}

Veja o que cada expressão devolve:

ExpressãoResultado
{{ $json.nome }}First item
{{ $json.nested }}[object Object]
{{ $json.nested["example-string-field"] }}apples

A do meio está sintaticamente correta e aponta para um campo que existe. Só que nested não é um valor — é um recipiente.

Repare no terceiro exemplo: o nome do campo tem hífen, então foi preciso usar colchetes com aspas. Ponto não funciona em nome com hífen, espaço ou acento — e esse detalhe gera um segundo erro logo depois que a pessoa resolve o primeiro.

Como achar o caminho certo em segundos

O jeito infalível: arraste. Vá ao painel de entrada, abra a estrutura até enxergar o valor que você quer e arraste aquele campo para dentro da caixa. O n8n escreve o caminho completo, com os níveis todos e a notação correta para nomes problemáticos.

Na interface, campos que contêm outra estrutura aparecem destacados na tabela — é o sinal de que há mais coisa lá dentro e você precisa continuar descendo.

Ilustração de descida por níveis até o valor final

As três variações do mesmo problema

1. Array em vez de objeto

Se o resultado for algo como [object Object],[object Object], com vírgulas, você apontou para uma lista de estruturas. Precisa escolher qual: {{ $json.itens[0].nome }} pega o primeiro.

Mas atenção: se a intenção era processar todos, escolher o primeiro é remendo. O caminho correto costuma ser separar a lista em itens antes, para o fluxo tratar cada um individualmente.

2. Você queria mesmo a estrutura inteira

Às vezes o objetivo é enviar o objeto completo — para gravar num campo, mandar numa requisição. Nesse caso, converta explicitamente para texto em vez de deixar a conversão automática acontecer:

{{ JSON.stringify($json.nested) }}

Assim você recebe o conteúdo real em formato de texto, e não o rótulo genérico.

3. O dado chegou como texto e você tratou como estrutura

O contrário também acontece: a API devolveu tudo dentro de um campo de texto que parece estrutura. Nesse caso, descer com pontos não funciona — é preciso converter primeiro:

{{ JSON.parse($json.resposta).campo }}

Como saber qual dos dois casos é o seu? Olhe o painel de entrada. Se o campo aparece com estrutura navegável, é objeto. Se aparece como uma linha longa de texto com chaves e aspas, é texto e precisa ser convertido.

Por que isso aparece tanto em fluxo com IA

Vale um aviso específico. Respostas de modelos de inteligência artificial costumam vir com o conteúdo aninhado alguns níveis abaixo, e o texto útil fica no fim de um caminho comprido.

Quem tenta adivinhar o caminho quase sempre para no meio e recebe [object Object]. Aqui o hábito de arrastar em vez de digitar economiza bastante tempo — a estrutura da resposta varia entre modelos, e memorizar não adianta.

Resumo: [object Object] significa "você parou num recipiente". Desça mais um nível, ou converta explicitamente para texto se a intenção era enviar a estrutura inteira.

Esta aula faz parte do Curso de n8n do zero ao avançado, com todas as aulas em portugues.

Perguntas frequentes

O que significa [object Object] no n8n?

Significa que a expressão apontou para uma estrutura de dados em vez de um valor final. O n8n precisou converter essa estrutura em texto e devolveu a representação genérica. A expressão está correta; falta descer mais um nível até o campo desejado.

Como corrigir [object Object]?

Continuando o caminho até o valor final, com pontos para nomes simples ou colchetes com aspas para nomes com hífen, espaço ou acento. O jeito mais seguro é abrir a estrutura no painel de entrada e arrastar o campo desejado para dentro da caixa.

E se aparecer vários [object Object] separados por vírgula?

Você apontou para uma lista de estruturas, não para uma só. Dá para escolher uma pelo índice, mas se a intenção era processar todas, o certo é separar a lista em itens antes, para que o fluxo trate cada registro individualmente.

Como enviar o objeto inteiro como texto?

Usando {{ JSON.stringify($json.campo) }}. Isso converte a estrutura no seu conteúdo real em formato de texto, em vez de deixar a conversão automática produzir o rótulo genérico.

Por que isso acontece tanto com respostas de IA?

Porque essas respostas vêm com o conteúdo útil aninhado vários níveis abaixo, e a estrutura varia conforme o modelo. Tentar adivinhar o caminho costuma parar num nível intermediário — arrastar o campo do painel de entrada resolve sem tentativa e erro.