n8n-io/n8n · error
JSON array items must be flat objects (not arrays, nulls, or
Error message
JSON array items must be flat objects (not arrays, nulls, or primitives)
What it means
Error "JSON array items must be flat objects (not arrays, nulls, or primitives)" thrown in n8n-io/n8n.
Source
Thrown at packages/@n8n/instance-ai/src/parsers/structured-file-parser.ts:336
try {
parsed = JSON.parse(content);
} catch {
throw new Error('Invalid JSON: failed to parse');
}
if (!Array.isArray(parsed)) {
throw new Error('Expected a JSON array of objects, got a single value or object');
}
if (parsed.length === 0) {
return { rawHeaders: [], allRows: [] };
}
// Collect all keys across all objects (preserving order of first appearance)
const keySet = new Set<string>();
for (const item of parsed) {
if (typeof item !== 'object' || item === null || Array.isArray(item)) {
throw new Error('JSON array items must be flat objects (not arrays, nulls, or primitives)');
}
const dangerousKey = hasDangerousKey(item as Record<string, unknown>);
if (dangerousKey) {
throw new Error(`Dangerous key "${dangerousKey}" found in JSON data`);
}
for (const key of Object.keys(item as Record<string, unknown>)) {
keySet.add(key);
}
}
const rawHeaders = [...keySet];
// Validate all values are flat
for (const item of parsed) {
const obj = item as Record<string, unknown>;
for (const [key, value] of Object.entries(obj)) {
if (value !== null && typeof value === 'object') {
throw new Error(View on GitHub (pinned to 5ac6606e81)
When it happens
Trigger: Thrown at packages/@n8n/instance-ai/src/parsers/structured-file-parser.ts:336 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/eb8240a9b07f0be6.
Report an issue: GitHub.