n8n-docs/docs/data/data-structure.md
2022-04-13 09:56:05 +01:00

1.4 KiB

Data structure

In n8n, all data passed between nodes is an array of objects. It has the following structure:

[
	{
		// For most data:
		// Wrap each item in another object, with the key 'json'
		"json": {
			// Example data
			"jsonKeyName": "keyValue",
			"anotherJsonKey": {
				"lowerLevelJsonKey": 1
			}
		},
		// For binary data:
		// Wrap each item in another object, with the key 'binary'
		"binary": {
			// Example data
			"binaryKeyName": {
				"data": "....", // Base64 encoded binary data (required)
				"mimeType": "image/png", // Best practice to set if possible (optional)
				"fileExtension": "png", // Best practice to set if possible (optional)
				"fileName": "example.png", // Best practice to set if possible (optional)
			}
		}
	},
]

!!! note "Skipping the 'json' key and array syntax" From 0.166.0 onwards, n8n automatically adds the json key if it is missing. It also automatically wraps your items in an array ([]) if needed.

Data flow

Nodes do not only process one "item", they process multiple ones. For example, if the Trello node is set to Create-Card and it has an expression set for Name to be set depending on name property, it will create a card for each item, always choosing the name-property-value of the current one.

This data would, for example, create two cards. One named test1 the other one named test2:

[
	{
		name: "test1"
	},
	{
		name: "test2"
	}
]