Após executar um subfluxo de trabalho, recebo um objeto JSON. Se tento fazer uma edição simples usando código de nó, recebo um erro na saída JSON: Formato de saída inválido [item 0] Um item de saída contém a chave reservada json. Para contornar isso, coloque cada item em um objeto, sob uma chave chamada json.
A única solução que encontrei foi deletar a chave metadata do item.
Acredito que este não é o comportamento esperado.
for (const item of $input.all()) { delete item.metadata; } return $input.all();
Por favor, compartilhe seu fluxo de trabalho
Compartilhe a saída retornada pelo último nó
Formato de saída inválido [item 0]
Um item de saída contém a chave reservada json. Para contornar isso, coloque cada item em um objeto, sob uma chave chamada json.
Informações sobre sua configuração n8n
versão n8n: 2.19.2
Banco de dados (padrão: SQLite): postgres
Configuração EXECUTIONS_PROCESS do n8n (padrão: own, main): ?
Executando n8n via (Docker, npm, n8n cloud, aplicativo desktop): docker
Oi @jgggr
O nó Execute Sub-workflow adiciona uma chave metadata de nível superior a cada item que retorna, que é o que o link “View sub-execution” usa, e o nó Code apenas permite json, binary, pairedItem e error como chaves de nível superior em um item de saída, então return $input.all() é rejeitado. Construa os itens de saída em vez de retornar os itens de entrada:
A mesma ideia, e para os itens que realmente são limpos o resultado é idêntico. A versão no JSON do fluxo de trabalho que você colou não é equivalente porém: delete item.metadata fica dentro do ramo case "example":, então apenas itens cujo agent_name corresponde são limpos e todos os outros itens ainda carregam metadata e disparam o mesmo erro. Construir o item de saída cobre todos eles sem um ramo, e continua funcionando se o nó retornar outra chave de nível superior junto com metadata.