This is an n8n community node for node for parsing and stringifying YAML.
After installing the node, you can use it like any other node. n8n displays the node in search results in the Nodes panel.
For Docker-based deployments add the following line before the font installation command in your n8n Dockerfile:
Expand to show workflow JSON
Copy and paste this JSON into a blank n8n workflow!
{
"nodes": [
{
"parameters": {},
"name": "Start",
"type": "n8n-nodes-base.start",
"typeVersion": 1,
"position": [
240,
300
]
},
{
"parameters": {
"values": {
"string": [
{
"name": "yaml",
"value": "=---\n# <- yaml supports comments, json does not\n# did you know you can embed json in yaml?\n# try uncommenting the next line\n# { foo: 'bar' }\n\njson:\n - rigid\n - better for data interchange\nyaml: \n - slim and flexible\n - better for configuration\nobject:\n key: value\n array:\n - null_value:\n - boolean: true\n - integer: 1\n - alias: &example aliases are like variables\n - alias: *example\nparagraph: >\n Blank lines denote\n\n paragraph breaks\ncontent: |-\n Or we\n can auto\n convert line breaks\n to save space\nalias: &foo\n bar: baz\nalias_reuse: *foo"
},
{
"name": "json",
"value": "={\n \"json\": [\n \"rigid\",\n \"better for data interchange\"\n ],\n \"yaml\": [\n \"slim and flexible\",\n \"better for configuration\"\n ],\n \"object\": {\n \"key\": \"value\",\n \"array\": [\n {\n \"null_value\": null\n },\n {\n \"boolean\": true\n },\n {\n \"integer\": 1\n },\n {\n \"alias\": \"aliases are like variables\"\n },\n {\n \"alias\": \"aliases are like variables\"\n }\n ]\n },\n \"paragraph\": \"Blank lines denote\\nparagraph breaks\\n\",\n \"content\": \"Or we\\ncan auto\\nconvert line breaks\\nto save space\",\n \"alias\": {\n \"bar\": \"baz\"\n },\n \"alias_reuse\": {\n \"bar\": \"baz\"\n }\n}"
}
]
},
"options": {}
},
"name": "Set",
"type": "n8n-nodes-base.set",
"typeVersion": 1,
"position": [
460,
300
]
},
{
"parameters": {
"values": {
"string": [
{
"name": "JSON_DATA",
"value": "={{ JSON.parse($json[\"json\"]) }}"
}
]
},
"options": {}
},
"name": "Parse JSON String",
"type": "n8n-nodes-base.set",
"typeVersion": 1,
"position": [
720,
380
]
},
{
"parameters": {
"mode": "mergeByIndex"
},
"name": "Merge",
"type": "n8n-nodes-base.merge",
"typeVersion": 1,
"position": [
960,
300
]
},
{
"parameters": {
"value": "={{ $json[\"yaml\"] }}",
"propertyName": "YAML_DATA"
},
"name": "Parse YAML",
"type": "n8n-nodes-yaml.yaml",
"typeVersion": 1,
"position": [
720,
220
]
},
{
"parameters": {
"operation": "stringify",
"value": "={{ $json }}",
"propertyName": "STRINGIFIED"
},
"name": "Convert to YAML",
"type": "n8n-nodes-yaml.yaml",
"typeVersion": 1,
"position": [
1160,
300
]
}
],
"connections": {
"Start": {
"main": [
[
{
"node": "Set",
"type": "main",
"index": 0
}
]
]
},
"Set": {
"main": [
[
{
"node": "Parse YAML",
"type": "main",
"index": 0
},
{
"node": "Parse JSON String",
"type": "main",
"index": 0
}
]
]
},
"Parse JSON String": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Convert to YAML",
"type": "main",
"index": 0
}
]
]
},
"Parse YAML": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
}
}
}