Handle multidimensional arrays with function item

Hey,
i have a multidimensional array, for example:

It should loop for the first array level (food menus) and then loop for each dish and write it in the database with a mysql node.

I cant make it work :frowning: its always only looping for the first array level.

Hey @plSln,

Where is the array coming from? Is it hardcode in a function node or is it a response from a http request?

Hey Ricardo,
its a modified http request.

Could you provide an example of the data without any modification?

these nodes i use to get it the structure i need:

{
  "nodes": [
    {
      "parameters": {},
      "name": "each Food",
      "type": "n8n-nodes-base.functionItem",
      "typeVersion": 1,
      "position": [
        1530,
        120
      ]
    },
    {
      "parameters": {
        "functionCode": "return item;"
      },
      "name": "each Item",
      "type": "n8n-nodes-base.functionItem",
      "typeVersion": 1,
      "position": [
        1220,
        120
      ]
    },
    {
      "parameters": {
        "functionCode": "const newItems = [];\nfor (const item of items) {\n newItems.push(item.json);\n}\nreturn newItems;\n"
      },
      "name": "Split",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        1020,
        120
      ]
    },
    {
      "parameters": {
        "functionCode": "// remove older days, where you can not order for sure\n\nfunction getMonday(d) {\n  d = new Date(d);\n  var day = d.getDay(),\n      diff = d.getDate() - day + (day == 0 ? -6:1); // adjust when day is sunday\n  return new Date(d.setDate(diff));\n}\n\nfunction addDays(date, days) {\n  var result = new Date(date);\n  result.setDate(result.getDate() + days);\n  return result;\n}\n\nconst days = [];\n\nfor (let [key, value] of Object.entries(item)) {\n if (!value.includes(\"‚ā¨\") && key !== \"menu\") delete item[key];\n}\n\nfor (let [key, value] of Object.entries(item)) {\n if (key !== \"menu\") {\n     const day = Object();\n     day.menu = item.menu;\n     day.dayname = key;\n     var date_monday = getMonday(new Date);\n     switch (key) {\n       case \"Montag\":\n         day.daydate = getMonday(new Date).toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Dienstag\":\n         var date_day = addDays(date_monday,1);\n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Mittwoch\":\n         var date_day = addDays(date_monday,2);\n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Donnerstag\":\n         var date_day = addDays(date_monday,3);\n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Freitag\":\n         var date_day = addDays(date_monday,4);\n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Samstag\":\n         var date_day = addDays(date_monday,5);        \n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Sonntag\":\n         var date_day = addDays(date_monday,6);        \n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n     } \n     day.gericht = value.split(\";\")[0].replace(\"VEGGIE\",\"ūüĆĪ- \").replace(\"VEGAN\",\"ūüĆĪūüĆĪ - \").replace(\"mit\",\" - mit\").replace(\"A1\",\"\").replace(\"6\",\"\").replace(\"1\",\"\").trim();\n     var myRegexp = /(\\d*\\.\\d*\\s‚ā¨)/g;\n     var match = myRegexp.exec(value);\n     match = (match !== null && match.length === 2) ? match[1] : \"\";\n     day.preis = match;\n     delete item[key];\n     days.push(day)\n }\n}\ndelete item[\"menu\"]\nitem.json = days;\nreturn item;"
      },
      "name": "prepare Data",
      "type": "n8n-nodes-base.functionItem",
      "typeVersion": 1,
      "position": [
        820,
        120
      ],
      "color": "#B3AA89"
    },
    {
      "parameters": {
        "functionCode": "const newItems = [];\nvar i = 0;\nfor (const item of items[0].json[0]) {\n  var is_named = false\n  if (item[0] === \"\") {\n     if (i < 7) { \n       item.menu = \"Men√ľ \" + i\n     } else if (i == 7) {\n       item.menu = \"Wochenmen√ľ\"\n     } else if (i > 7 && i < 12) {\n       item.menu = \"S\" + (i - 7)\n     } else if (i > 11) {\n       item.menu = \"W\" + (i - 11)\n     } \n   } else {\n   item.menu =  item[0].split(\"\\n\").join(\"\");\n   is_named = true\n   }\n   if (i !== 0) newItems.push({json: item});\n   if (!is_named) i++;\n}\nreturn newItems;\n"
      },
      "name": "Split & Manage Menus",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        620,
        120
      ]
    }
  ],
  "connections": {
    "each Item": {
      "main": [
        [
          {
            "node": "each Food",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split": {
      "main": [
        [
          {
            "node": "each Item",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "prepare Data": {
      "main": [
        [
          {
            "node": "Split",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split & Manage Menus": {
      "main": [
        [
          {
            "node": "prepare Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

@plSln how is the structure of the table you want to insert the data in.

menu, dayname, daydate, gericht, preis is it like this?

1 Like

yes, these are the columns in the table

Try it like this:

{
  "nodes": [
    {
      "parameters": {},
      "name": "Start",
      "type": "n8n-nodes-base.start",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "const newItems = [];\nfor (const item of items) {\n newItems.push(item.json);\n}\nreturn newItems;\n"
      },
      "name": "Split",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        1040,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "// remove older days, where you can not order for sure\n\nfunction getMonday(d) {\n  d = new Date(d);\n  var day = d.getDay(),\n      diff = d.getDate() - day + (day == 0 ? -6:1); // adjust when day is sunday\n  return new Date(d.setDate(diff));\n}\n\nfunction addDays(date, days) {\n  var result = new Date(date);\n  result.setDate(result.getDate() + days);\n  return result;\n}\n\nconst days = [];\n\nfor (let [key, value] of Object.entries(item)) {\n if (!value.includes(\"‚ā¨\") && key !== \"menu\") delete item[key];\n}\n\nfor (let [key, value] of Object.entries(item)) {\n if (key !== \"menu\") {\n     const day = Object();\n     day.menu = item.menu;\n     day.dayname = key;\n     var date_monday = getMonday(new Date);\n     switch (key) {\n       case \"Montag\":\n         day.daydate = getMonday(new Date).toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Dienstag\":\n         var date_day = addDays(date_monday,1);\n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Mittwoch\":\n         var date_day = addDays(date_monday,2);\n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Donnerstag\":\n         var date_day = addDays(date_monday,3);\n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Freitag\":\n         var date_day = addDays(date_monday,4);\n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Samstag\":\n         var date_day = addDays(date_monday,5);        \n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n       case \"Sonntag\":\n         var date_day = addDays(date_monday,6);        \n         day.daydate = date_day.toISOString().slice(0, 19).replace('T', ' ');\n       break;\n     } \n     day.gericht = value.split(\";\")[0].replace(\"VEGGIE\",\"ūüĆĪ- \").replace(\"VEGAN\",\"ūüĆĪūüĆĪ - \").replace(\"mit\",\" - mit\").replace(\"A1\",\"\").replace(\"6\",\"\").replace(\"1\",\"\").trim();\n     var myRegexp = /(\\d*\\.\\d*\\s‚ā¨)/g;\n     var match = myRegexp.exec(value);\n     match = (match !== null && match.length === 2) ? match[1] : \"\";\n     day.preis = match;\n     delete item[key];\n     days.push(day)\n }\n}\ndelete item[\"menu\"]\nitem.json = days;\nreturn item;"
      },
      "name": "prepare Data",
      "type": "n8n-nodes-base.functionItem",
      "typeVersion": 1,
      "position": [
        840,
        300
      ],
      "color": "#B3AA89"
    },
    {
      "parameters": {
        "functionCode": "const newItems = [];\nvar i = 0;\nfor (const item of items[0].json.data[0][0]) {\n  var is_named = false\n  if (item[0] === \"\") {\n     if (i < 7) { \n       item.menu = \"Men√ľ \" + i\n     } else if (i == 7) {\n       item.menu = \"Wochenmen√ľ\"\n     } else if (i > 7 && i < 12) {\n       item.menu = \"S\" + (i - 7)\n     } else if (i > 11) {\n       item.menu = \"W\" + (i - 11)\n     } \n   } else {\n   item.menu =  item[0].split(\"\\n\").join(\"\");\n   is_named = true\n   }\n   if (i !== 0) newItems.push({json: item});\n   if (!is_named) i++;\n}\nreturn newItems;\n"
      },
      "name": "Split & Manage Menus",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        640,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "items[0].json.data = [\n  [\n    [\n      {\n        \"0\": \"\",\n        \"Montag\": \"\",\n        \"Dienstag\": \"\",\n        \"Mittwoch\": \"\",\n        \"Donnerstag\": \"\",\n        \"Freitag\": \"\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"VEGGIEExotische Rote- Bete- Suppe mit Apfel, Ingwer, Karotten und Frischk√§se6;A1;G;I\",\n        \"Dienstag\": \"VEGANSchwarzwurzelcremesuppe mit ger√∂steten Sonnenblumenkernen, dazu SteinofenbaguetteA1;A2;A3;I\",\n        \"Mittwoch\": \"Linseneintopfs√ľ√ü- sauermit Wiener W√ľrstchenA1;G;I:S;T\",\n        \"Donnerstag\": \"VEGGIEKarotten- Ingwer- Orangen- Cremesuppe,dazu PizzabrotA1;C;G;I\\n \\n\\n\\n 3.75 ‚ā¨\",\n        \"Freitag\": \"Kesselgulaschmit Kartoffelw√ľrfelA1;I;R;S\\n \\n\\n\\n 3.75 ‚ā¨\",\n        \"Samstag\": \"Fischfiletmit Gem√ľseund Kartoffelp√ľreeA1;D;G;I\\n \\n\\n\\n 4.25 ‚ā¨\",\n        \"Sonntag\": \"Gem√ľseeintopfmit H√§hnchenstreifenA1;G;I;T\\n \\n\\n\\n 3.85 ‚ā¨\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Schweinegeschnetzeltes \\\"Z√ľricher Art\\\"mit Br√∂sel- Sp√§tzleA1;C;G;I;S\",\n        \"Dienstag\": \"Krautroulademit deftiger So√üeund PetersilienkartoffelnA1;C;G;I;S\",\n        \"Mittwoch\": \"VEGGIE√úberbackener Chicor√©e mit Hollandaise und K√§se √ľberbacken, dazu GnocchiA1;A3;C;F;G;I\",\n        \"Donnerstag\": \"Hausgemachte Eierkuchenmit Zimt, Zucker und Schokoladenso√üeA1;C;G\\n \\n\\n\\n 3.95 ‚ā¨\",\n        \"Freitag\": \"VEGGIEGebackener Blumenkohl mit Tomaten- Hollandaise und GnocchiA1;A3;C;F;G;I\\n \\n\\n\\n 4.25 ‚ā¨\",\n        \"Samstag\": \"Szegediner Gulaschmit Kn√∂delnA1;C;G;I;S\\n \\n\\n\\n 4.05 ‚ā¨\",\n        \"Sonntag\": \"Schnitzelmit Bohnengem√ľseund KartoffelnA1;C;G;I;S\\n \\n\\n\\n 4.25 ‚ā¨\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Seelachsfilet mit Meerrettich- Kr√§uter- Kruste, Hollandaise und Dill- KartoffelnA1;A3;C;D;F;G;I\",\n        \"Dienstag\": \"Zitronen- H√§hnchenkeulemit gebratenem Gem√ľsereisA1;G;I;T\",\n        \"Mittwoch\": \"Welsfiletmit Dijon- Senfso√üe, Brokkoli und Kartoffelp√ľree6;A1;C;G;I;S\",\n        \"Donnerstag\": \"Schweineroulademit Rotkohlund Kl√∂√üe6;A1;I;J;S\\n \\n\\n\\n 4.45 ‚ā¨\",\n        \"Freitag\": \"Pulled Porkmit Ofengem√ľse und Kartoffelgratin, dazu BBQ- Dip6;A1;B;F;G;I;J;K;S\\n \\n\\n\\n 4.45 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"VEGGIEEieromelette mit Ricotta- K√§sef√ľllung, dazu Bio- Brokkoli und S√ľ√ükartoffelstampfA1;C;G;I\",\n        \"Dienstag\": \"SpaghettiBolognese,dazu K√§se1;A1;G;I;R;S\\n \\n\\n\\n 1x bestellt\",\n        \"Mittwoch\": \"K√∂nigsberger Klopsemit Kapernso√üeund ReisA1;G;I;S\",\n        \"Donnerstag\": \"Gebratene H√§hnchenbrustmit frischem Gem√ľseund SchwenkkartoffelnA1;G;I;T\\n \\n\\n\\n 4.45 ‚ā¨\",\n        \"Freitag\": \"Buntbarschfiletin Limettenbutterso√üe mit Linsenrisotto und rustikalem Gem√ľseA1;A3;C;D;F;H;I\\n \\n\\n\\n 4.45 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Spirellimit Tomatenso√üeund J√§gerschnitzelA1;A2;C;I;J;S\",\n        \"Dienstag\": \"Hausgemachter Schweizer R√∂sti mit R√§ucherlachs, Zucchinigem√ľse und K√§se √ľberbacken, dazu Joghurt- Tomaten- DipA1;C;D;G\\n \\n\\n\\n 1x bestellt\",\n        \"Mittwoch\": \"Prager Schwarzbiergulaschmit Rotkohl und b√∂hmischen Kn√∂deln6;A1;C;G;I;S\",\n        \"Donnerstag\": \"Hackb√§llchen- Champignon- Pfannemit Zwiebeln und Tomaten- ReisA1;C;G;I;J;T\\n \\n\\n\\n 4.05 ‚ā¨\",\n        \"Freitag\": \"Deftige Krautnudelnmit Salami, dazu K√§seA1;G;I;T\\n \\n\\n\\n 4.05 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"N√ľrnberger W√ľrstchenmit Sauerkrautund Kartoffelp√ľreeA1;G;I;S\",\n        \"Dienstag\": \"VEGGIERicotta- Spinat- Cannelloni mit Tomatenconcassee und BrokkoliA1;C;G;I\\n \\n\\n\\n 2x bestellt\",\n        \"Mittwoch\": \"Bauernfr√ľhst√ľckmit Schinkenstreifen und Essiggurke6;A1;C;G;S\",\n        \"Donnerstag\": \"Makkaronimit Tomatenso√üe, Jagdwurst- und Salamiw√ľrfel, dazu K√§se1;A1;G;I;J;S\\n \\n\\n\\n 4.05 ‚ā¨\",\n        \"Freitag\": \"Paniertes Putenschnitzel mit Butterm√∂hren und PetersilienkartoffelnA1;C;G;I;T\\n \\n\\n\\n 4.45 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"X\\nX\\nL\\n-\\nM\\ne\\nn\\n√ľ\",\n        \"Montag\": \"Schweinegeschnetzeltes \\\"Z√ľricher Art\\\"mit Br√∂sel- Sp√§tzleA1;C;G;I;S\",\n        \"Dienstag\": \"SpaghettiBolognese,dazu K√§se1;A1;G;I;R;S\",\n        \"Mittwoch\": \"Linseneintopfs√ľ√ü- sauermit Wiener W√ľrstchenA1;G;I:S;T\",\n        \"Donnerstag\": \"Makkaronimit Tomatenso√üe, Jagdwurst- und Salamiw√ľrfel, dazu K√§se1;A1;G;I;J;S\\n \\n\\n\\n 4.85 ‚ā¨\",\n        \"Freitag\": \"Deftige Krautnudelnmit Salami, dazu K√§seA1;G;I;T\\n \\n\\n\\n 4.85 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"F\\ni\\nt\\nM\\ne\\n \\nM\\ne\\nn\\n√ľ\",\n        \"Montag\": \"Stroganoff 2.0Beefgeschnetzeltes mit gr√ľnen Bohnen, Vollkornspirelli und pfeffriger So√üeA1;F;D;H1;I;K;R\",\n        \"Dienstag\": \"Seelachs im Kr√§utermantelSeelachs mit Bulgur- Linsencurry und PaprikaA1;D;K\",\n        \"Mittwoch\": \"Sweet Potato ChickenHuhn mit cremiger Spinatsauce und KichererbsenA1;G;H1;K;T\",\n        \"Donnerstag\": \"Spaghetti TunaVollkornspagetti mit Thunfisch und TomatensauceA1;D;G;K\\n \\n\\n\\n 4.95 ‚ā¨\",\n        \"Freitag\": \"kalter Quinoa Linsensalat mit H√§hnchen, Zucchini, Karotten, Paprika und Zitronen- VinaigretteL;T\\n \\n\\n\\n 4.95 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Entenkeulemit gebratenem Rotkohl und Kl√∂√üe6;A1;I;T\",\n        \"Dienstag\": \"Entenkeulemit gebratenem Rotkohl und Kl√∂√üe6;A1;I;T\",\n        \"Mittwoch\": \"Entenkeulemit gebratenem Rotkohl und Kl√∂√üe6;A1;I;T\",\n        \"Donnerstag\": \"Entenkeulemit gebratenem Rotkohl und Kl√∂√üe6;A1;I;T\\n \\n\\n\\n 6.95 ‚ā¨\",\n        \"Freitag\": \"Entenkeulemit gebratenem Rotkohl und Kl√∂√üe6;A1;I;T\\n \\n\\n\\n 6.95 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Omega 3 Bowl - R√§ucherlachs auf knackigen Blattsalaten mit Gurke, Tomate und Rucola, dazu Frischk√§sedressing D;G;M\",\n        \"Dienstag\": \"Omega 3 Bowl - R√§ucherlachs auf knackigen Blattsalaten mit Gurke, Tomate und Rucola, dazu Frischk√§sedressing D;G;M\",\n        \"Mittwoch\": \"Omega 3 Bowl - R√§ucherlachs auf knackigen Blattsalaten mit Gurke, Tomate und Rucola, dazu Frischk√§sedressing D;G;M\",\n        \"Donnerstag\": \"Omega 3 Bowl - R√§ucherlachs auf knackigen Blattsalaten mit Gurke, Tomate und Rucola, dazu Frischk√§sedressing D;G;M\\n \\n\\n\\n 4.99 ‚ā¨\",\n        \"Freitag\": \"Omega 3 Bowl - R√§ucherlachs auf knackigen Blattsalaten mit Gurke, Tomate und Rucola, dazu Frischk√§sedressing D;G;M\\n \\n\\n\\n 4.99 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Gebratene H√§hnchenbruststreifen mit Honig glasiert, Blattsalate, Tomaten, Gurken, Paprika und Rucola, dazu Joghurtdressing mit Bio- Joghurt 1;G;K;T\",\n        \"Dienstag\": \"Gebratene H√§hnchenbruststreifen mit Honig glasiert, Blattsalate, Tomaten, Gurken, Paprika und Rucola, dazu Joghurtdressing mit Bio- Joghurt 1;G;K;T\",\n        \"Mittwoch\": \"Gebratene H√§hnchenbruststreifen mit Honig glasiert, Blattsalate, Tomaten, Gurken, Paprika und Rucola, dazu Joghurtdressing mit Bio- Joghurt 1;G;K;T\",\n        \"Donnerstag\": \"Gebratene H√§hnchenbruststreifen mit Honig glasiert, Blattsalate, Tomaten, Gurken, Paprika und Rucola, dazu Joghurtdressing mit Bio- Joghurt 1;G;K;T\\n \\n\\n\\n 4.89 ‚ā¨\",\n        \"Freitag\": \"Gebratene H√§hnchenbruststreifen mit Honig glasiert, Blattsalate, Tomaten, Gurken, Paprika und Rucola, dazu Joghurtdressing mit Bio- Joghurt 1;G;K;T\\n \\n\\n\\n 4.89 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Chefsalat - Gemischter Salat mit Gurken, Tomaten, Schinken, geriebenem Gouda und Ei, dazu French- Vinaigrette 1;C;G;J;M;S\",\n        \"Dienstag\": \"Chefsalat - Gemischter Salat mit Gurken, Tomaten, Schinken, geriebenem Gouda und Ei, dazu French- Vinaigrette 1;C;G;J;M;S\",\n        \"Mittwoch\": \"Chefsalat - Gemischter Salat mit Gurken, Tomaten, Schinken, geriebenem Gouda und Ei, dazu French- Vinaigrette 1;C;G;J;M;S\",\n        \"Donnerstag\": \"Chefsalat - Gemischter Salat mit Gurken, Tomaten, Schinken, geriebenem Gouda und Ei, dazu French- Vinaigrette 1;C;G;J;M;S\\n \\n\\n\\n 4.79 ‚ā¨\",\n        \"Freitag\": \"Chefsalat - Gemischter Salat mit Gurken, Tomaten, Schinken, geriebenem Gouda und Ei, dazu French- Vinaigrette 1;C;G;J;M;S\\n \\n\\n\\n 4.79 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Quinoa- Rote- Linsen- Salat mit Apfel, Paprika, gebackenem Feta, Champignons und Blattsalat, dazu Senfvinaigrette G;J;M\",\n        \"Dienstag\": \"Quinoa- Rote- Linsen- Salat mit Apfel, Paprika, gebackenem Feta, Champignons und Blattsalat, dazu Senfvinaigrette G;J;M\",\n        \"Mittwoch\": \"Quinoa- Rote- Linsen- Salat mit Apfel, Paprika, gebackenem Feta, Champignons und Blattsalat, dazu Senfvinaigrette G;J;M\",\n        \"Donnerstag\": \"Quinoa- Rote- Linsen- Salat mit Apfel, Paprika, gebackenem Feta, Champignons und Blattsalat, dazu Senfvinaigrette G;J;M\\n \\n\\n\\n 4.89 ‚ā¨\",\n        \"Freitag\": \"Quinoa- Rote- Linsen- Salat mit Apfel, Paprika, gebackenem Feta, Champignons und Blattsalat, dazu Senfvinaigrette G;J;M\\n \\n\\n\\n 4.89 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"D\\ne\\ns\\ns\\ne\\nr\\nt\",\n        \"Montag\": \"Cheesecake- Creme mit Salzkaramellso√üe und Mandelcrumble A1;C;G;H1\",\n        \"Dienstag\": \"Cheesecake- Creme mit Salzkaramellso√üe und Mandelcrumble A1;C;G;H1\",\n        \"Mittwoch\": \"Cheesecake- Creme mit Salzkaramellso√üe und Mandelcrumble A1;C;G;H1\",\n        \"Donnerstag\": \"Cheesecake- Creme mit Salzkaramellso√üe und Mandelcrumble A1;C;G;H1\\n \\n\\n\\n 0.95 ‚ā¨\",\n        \"Freitag\": \"Cheesecake- Creme mit Salzkaramellso√üe und Mandelcrumble A1;C;G;H1\\n \\n\\n\\n 0.95 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Wrap mit Spicy Mayo, Roter Bete, ger√§ucherter Putenbrust, frischem Blattsalat, Gurke und Hirtenk√§se 1;6;7;C;G;M;K;T\",\n        \"Dienstag\": \"Wrap mit Spicy Mayo, Roter Bete, ger√§ucherter Putenbrust, frischem Blattsalat, Gurke und Hirtenk√§se 1;6;7;C;G;M;K;T\",\n        \"Mittwoch\": \"Wrap mit Spicy Mayo, Roter Bete, ger√§ucherter Putenbrust, frischem Blattsalat, Gurke und Hirtenk√§se 1;6;7;C;G;M;K;T\",\n        \"Donnerstag\": \"Wrap mit Spicy Mayo, Roter Bete, ger√§ucherter Putenbrust, frischem Blattsalat, Gurke und Hirtenk√§se 1;6;7;C;G;M;K;T\\n \\n\\n\\n 4.49 ‚ā¨\",\n        \"Freitag\": \"Wrap mit Spicy Mayo, Roter Bete, ger√§ucherter Putenbrust, frischem Blattsalat, Gurke und Hirtenk√§se 1;6;7;C;G;M;K;T\\n \\n\\n\\n 4.49 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"\",\n        \"Montag\": \"Pulled Pork Wrap - Pulled Pork, BBQ- Dip, Eisbergsalat, American Coleslaw, Tomaten und Gurken 6;A1;F;I;K;S\",\n        \"Dienstag\": \"Pulled Pork Wrap - Pulled Pork, BBQ- Dip, Eisbergsalat, American Coleslaw, Tomaten und Gurken 6;A1;F;I;K;S\",\n        \"Mittwoch\": \"Pulled Pork Wrap - Pulled Pork, BBQ- Dip, Eisbergsalat, American Coleslaw, Tomaten und Gurken 6;A1;F;I;K;S\",\n        \"Donnerstag\": \"Pulled Pork Wrap - Pulled Pork, BBQ- Dip, Eisbergsalat, American Coleslaw, Tomaten und Gurken 6;A1;F;I;K;S\\n \\n\\n\\n 4.49 ‚ā¨\",\n        \"Freitag\": \"Pulled Pork Wrap - Pulled Pork, BBQ- Dip, Eisbergsalat, American Coleslaw, Tomaten und Gurken 6;A1;F;I;K;S\\n \\n\\n\\n 4.49 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      },\n      {\n        \"0\": \"S\\np\\na\\nr\\nm\\ne\\nn\\n√ľ\",\n        \"Montag\": \"Sparmen√ľ(nicht online bestellbar)\",\n        \"Dienstag\": \"Sparmen√ľ(nicht online bestellbar)\",\n        \"Mittwoch\": \"Sparmen√ľ(nicht online bestellbar)\",\n        \"Donnerstag\": \"Sparmen√ľ(nicht online bestellbar)\\n \\n\\n\\n 2.66 ‚ā¨\",\n        \"Freitag\": \"Sparmen√ľ(nicht online bestellbar)\\n \\n\\n\\n 2.66 ‚ā¨\",\n        \"Samstag\": \"\",\n        \"Sonntag\": \"\"\n      }\n    ]\n  ]\n]\nreturn items;"
      },
      "name": "Function",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        440,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "const result = []\nfor (item of items) {\n  for (json of item.json) {\n     result.push({\n        json: {...json }\n     })\n  }\n}\n\nreturn result"
      },
      "name": "Function1",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        1230,
        300
      ]
    },
    {
      "parameters": {
        "table": "menus",
        "columns": "menu,dayname,daydate,gericht,preis"
      },
      "name": "MySQL",
      "type": "n8n-nodes-base.mySql",
      "typeVersion": 1,
      "position": [
        1430,
        300
      ]
    }
  ],
  "connections": {
    "Start": {
      "main": [
        [
          {
            "node": "Function",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split": {
      "main": [
        [
          {
            "node": "Function1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "prepare Data": {
      "main": [
        [
          {
            "node": "Split",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split & Manage Menus": {
      "main": [
        [
          {
            "node": "prepare Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Function": {
      "main": [
        [
          {
            "node": "Split & Manage Menus",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Function1": {
      "main": [
        [
          {
            "node": "MySQL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
2 Likes