NEWS
Mit Blockly JSON aus Liste erstellen
-
Möchte aus einer Liste die so ausieht
['000|02:15','000|02:20','000|02:25','000|02:30','000|02:35','000|02:40','000|02:45','000|02:50','000|02:55','000|03:00','000|03:05','000|03:10','000|03:15','000|03:20','000|03:25','000|03:30','000|03:35','000|03:40','000|03:45','000|03:50','000|03:55','000|04:00','000|04:05','000|04:10','']ein JSON erstellen der so ausieht (gekürzt)
[ { "Menge": 000, "Uhrzeit": 02:15 }, { "Menge": 000, "Uhrzeit": 02:20 }, { "Menge": 000, "Uhrzeit": 02:25 }, { "Menge": 000, "Uhrzeit": 02:30 } ]Komme aber an dieser Stelle mit meinem Blockly nicht mehr weiter

<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id=";SIrJn_z=H*D@t2AxtHF">Liste</variable> <variable id="2IQu?X]va:h[0!M/LsQ$">result</variable> <variable id="/V:V-TB}zp(.X0@$#T|P">i</variable> <variable id="=6CKA)s(^BO%_#ARX,ha">uhr</variable> <variable id="eC_/`QKB}RDomD/!f`2(">menge</variable> <variable id="2=_{8jqd?@yULPnj/[!_">test</variable> </variables> <block type="schedule" id="E3fVdDtKLj10~Uao?u?Y" x="-211" y="-96"> <field name="SCHEDULE">*/20 * * * * *</field> <statement name="STATEMENT"> <block type="request" id="!rGp=u[HT%m0fkPf_sHr"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="1(ZaRGZ}$[[j`Y~?G.!{"> <field name="TEXT">https://gadgets.buienradar.nl/data/raintext?lat=51.11&lon=6.15</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="y:GV6FEsdO@4o]!etG%}"> <field name="COMMENT">Inhalt von raintext in Liste umwandeln</field> <next> <block type="variables_set" id="VNEeEV]zdah{ccHg)`#;"> <field name="VAR" id=";SIrJn_z=H*D@t2AxtHF">Liste</field> <value name="VALUE"> <block type="lists_split" id="^rizS!m35~8[g=Bx8Toe"> <mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"> <block type="variables_get" id=".-@{jmj3uESEDgn5cD}Y"> <field name="VAR" id="2IQu?X]va:h[0!M/LsQ$">result</field> </block> </value> <value name="DELIM"> <shadow type="text" id="c8m,yN@=;2/d?egwMT!#"> <field name="TEXT">,</field> </shadow> <block type="text_newline" id="$$os-%dLAwQV(U^-)v)g"> <field name="Type">\n</field> </block> </value> </block> </value> <next> <block type="debug" id="I(6urOR@_N]sX`{WjVB)"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="k+Rz=1Jr_C0E1l^QV1|0"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="@kN5%1UZ7=0f^VOrQLh="> <field name="VAR" id=";SIrJn_z=H*D@t2AxtHF">Liste</field> </block> </value> <next> <block type="controls_forEach" id="Niq:-fQL,`V$G?bWdfSr"> <field name="VAR" id="/V:V-TB}zp(.X0@$#T|P">i</field> <value name="LIST"> <block type="variables_get" id="rgN}bC6$s/)JC2p$aOl?"> <field name="VAR" id=";SIrJn_z=H*D@t2AxtHF">Liste</field> </block> </value> <statement name="DO"> <block type="comment" id="eH4E%]K8W03k96yU?3y?"> <field name="COMMENT">Nur Uhrzeit aus Liste</field> <next> <block type="variables_set" id="Z*pFL1]pSTV@A??0i^t["> <field name="VAR" id="=6CKA)s(^BO%_#ARX,ha">uhr</field> <value name="VALUE"> <block type="text_getSubstring" id="#6RfUH]v(vT]=]@dLpAo"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="YKgg|NAk|vwmOJ}OSeQ("> <field name="VAR" id="/V:V-TB}zp(.X0@$#T|P">i</field> </block> </value> <value name="AT1"> <block type="math_number" id="K!*`fCjHc/RW[)^F6_d9"> <field name="NUM">5</field> </block> </value> <value name="AT2"> <block type="math_number" id="!c)(fk)pIe~t.SlKAEAf"> <field name="NUM">9</field> </block> </value> </block> </value> <next> <block type="comment" id="biHa`6`IYmKKg}hpCm}y"> <field name="COMMENT">Nur Menge aus Liste</field> <next> <block type="variables_set" id="^43p*X7HOMH$bA1fea%]"> <field name="VAR" id="eC_/`QKB}RDomD/!f`2(">menge</field> <value name="VALUE"> <block type="text_getSubstring" id="fJJT(C%$hMmi3^4gd`qA"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="FomS2/B;2X)Bu78@~rcq"> <field name="VAR" id="/V:V-TB}zp(.X0@$#T|P">i</field> </block> </value> <value name="AT2"> <block type="math_number" id="qx1K0CAJ1$pCT$F8qCkR"> <field name="NUM">3</field> </block> </value> </block> </value> <next> <block type="comment" id="s$hqH/:#S+ZjTQ7ZpLGf"> <field name="COMMENT">Menge und Uhrzeit </field> <next> <block type="variables_set" id="OM}A]CVH.g900|;-5{eq"> <field name="VAR" id="2=_{8jqd?@yULPnj/[!_">test</field> <value name="VALUE"> <block type="text_join" id="wk,kGacR?YtmTu3=:n/)"> <mutation items="7"></mutation> <value name="ADD0"> <block type="text" id="|=w(rg9I3Tk._9T2dO_u"> <field name="TEXT">{</field> </block> </value> <value name="ADD1"> <block type="text" id="N?q);w`,?pgNEZqy*iKm"> <field name="TEXT">"Menge": </field> </block> </value> <value name="ADD2"> <block type="variables_get" id="-0BKL[svCn38_Dk6r8Re"> <field name="VAR" id="eC_/`QKB}RDomD/!f`2(">menge</field> </block> </value> <value name="ADD3"> <block type="text" id="[mcs0#N8T8^h4Avd:gz:"> <field name="TEXT">,</field> </block> </value> <value name="ADD4"> <block type="text" id=")-0^Mq|d)viAo%E$knU="> <field name="TEXT">"Uhrzeit": </field> </block> </value> <value name="ADD5"> <block type="variables_get" id="!njw#Ea-DB%O4bO-k/w["> <field name="VAR" id="=6CKA)s(^BO%_#ARX,ha">uhr</field> </block> </value> <value name="ADD6"> <block type="text" id="f=Wen4aiTwPTz[8f{Mmq"> <field name="TEXT">}</field> </block> </value> </block> </value> <next> <block type="debug" id="_1IqMaUw7{]@R:76mk^e"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="/r_qH~6F6O;*R.ptCOtV"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="34fC3she}{.5VwOSaE*@"> <field name="VAR" id="2=_{8jqd?@yULPnj/[!_">test</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> <block type="variables_get" id="VrF#H4IBM+Bhd@]~nVo/" x="812" y="138"> <field name="VAR" id=";SIrJn_z=H*D@t2AxtHF">Liste</field> </block> </xml>Das Ergebniss sieht so aus
02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:30} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:35} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:40} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:45} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:50} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 02:55} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:00} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:05} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:10} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:15} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:20} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:25} 02:26:20.063 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:30} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:35} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:40} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:45} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:50} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 03:55} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:00} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:05} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:10} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:15} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:20} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": 000,"Uhrzeit": 04:25} 02:26:20.064 info javascript.0 (3489476) script.js.common.Skript_3: {"Menge": ,"Uhrzeit": }Wie kann ich die einzelnen Ergebnisse in ein Objekt bekommen?
-
Nachdem ich ja eher NodeRed Fan bin und mich da schon bisschen mit dem genialen JSONATA befasse - wollte ich mal sehen, ob das für Blockly auch machbar ist.
Also probier das mal:

-
Nachdem ich ja eher NodeRed Fan bin und mich da schon bisschen mit dem genialen JSONATA befasse - wollte ich mal sehen, ob das für Blockly auch machbar ist.
Also probier das mal:

-
Das ist leider nicht das richtig Format.
[{'Menge':'000','Uhrzeit':'08:15'},{'Menge':'000','Uhrzeit':'08:20'},{'Menge':'000','Uhrzeit':'08:25'}] -
Habe jetzt noch im Blockly "Objekt mach JSON" eingefügt.

Jetzt wird es richtig erstellt und als JSON erkannt.
[ { "Menge": "000", "Uhrzeit": "11:50" }, { "Menge": "000", "Uhrzeit": "11:55" }, { "Menge": "000", "Uhrzeit": "12:00" }, { "Menge": "000", "Uhrzeit": "12:05" }, { "Menge": "000", "Uhrzeit": "12:10" }, { "Menge": "000", "Uhrzeit": "12:15" }, { "Menge": "000", "Uhrzeit": "12:20" }, { "Menge": "000", "Uhrzeit": "12:25" }, { "Menge": "000", "Uhrzeit": "12:30" }, { "Menge": "000", "Uhrzeit": "12:35" }, { "Menge": "000", "Uhrzeit": "12:40" }, { "Menge": "000", "Uhrzeit": "12:45" }, { "Menge": "000", "Uhrzeit": "12:50" }, { "Menge": "000", "Uhrzeit": "12:55" }, { "Menge": "000", "Uhrzeit": "13:00" }, { "Menge": "000", "Uhrzeit": "13:05" }, { "Menge": "000", "Uhrzeit": "13:10" }, { "Menge": "000", "Uhrzeit": "13:15" }, { "Menge": "000", "Uhrzeit": "13:20" }, { "Menge": "000", "Uhrzeit": "13:25" }, { "Menge": "000", "Uhrzeit": "13:30" }, { "Menge": "000", "Uhrzeit": "13:35" }, { "Menge": "000", "Uhrzeit": "13:40" }, { "Menge": "000", "Uhrzeit": "13:45" }, { "Menge": "" } ] -
Habe jetzt noch im Blockly "Objekt mach JSON" eingefügt.

Jetzt wird es richtig erstellt und als JSON erkannt.
[ { "Menge": "000", "Uhrzeit": "11:50" }, { "Menge": "000", "Uhrzeit": "11:55" }, { "Menge": "000", "Uhrzeit": "12:00" }, { "Menge": "000", "Uhrzeit": "12:05" }, { "Menge": "000", "Uhrzeit": "12:10" }, { "Menge": "000", "Uhrzeit": "12:15" }, { "Menge": "000", "Uhrzeit": "12:20" }, { "Menge": "000", "Uhrzeit": "12:25" }, { "Menge": "000", "Uhrzeit": "12:30" }, { "Menge": "000", "Uhrzeit": "12:35" }, { "Menge": "000", "Uhrzeit": "12:40" }, { "Menge": "000", "Uhrzeit": "12:45" }, { "Menge": "000", "Uhrzeit": "12:50" }, { "Menge": "000", "Uhrzeit": "12:55" }, { "Menge": "000", "Uhrzeit": "13:00" }, { "Menge": "000", "Uhrzeit": "13:05" }, { "Menge": "000", "Uhrzeit": "13:10" }, { "Menge": "000", "Uhrzeit": "13:15" }, { "Menge": "000", "Uhrzeit": "13:20" }, { "Menge": "000", "Uhrzeit": "13:25" }, { "Menge": "000", "Uhrzeit": "13:30" }, { "Menge": "000", "Uhrzeit": "13:35" }, { "Menge": "000", "Uhrzeit": "13:40" }, { "Menge": "000", "Uhrzeit": "13:45" }, { "Menge": "" } ]@chris76e OK ich konnte das nicht erkennen - ob Objekt oder JSON string - bin aber davon ausgegangen, dass Du beides entsprechend nach Bedarf aus dem Objekt bzw. umgekehrt erzeugen kannst. Ich halte es in jedem Fall einfacher, als über Schleifen, was zusammen zu basteln. Im Prinzip hättest Du Deine Strings auch nur in eine Liste überführen müssen.
Da hättest ja nur die Liste bei jedem Schleifendurchlauf um den String erweitern müssen.
Aber wie gesagt ich mag das Blockly eh nicht - mir ging es nur mal darum zu sehen, wie JSONATA in Blockly funktioniert und das ihr "Blocklies" durchaus auch Interesse an JSONATA haben könnt. ;) Ist doch trotzdem wesentlich einfacher als Deine Schleife.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden