NEWS
json aus Variablen erstellen
-
[0_1712951747763_Export.txt](Lade 100% hoch) Ich möchte aus verschiedenen Variablen ein json string erstellen. Irgendwie stehe ich offensichtlich auf dem Schlauch. Aktuell sieht es folgendermaßen aus:
Ich erhalte eine Aneinanderreihung der Werte der Variablen:
[123,456,789,1368,1712951466001]
Was ich möchte ist folgendes: { "p1": 123, "p2": 456, "p3":789, .....}
Würde mich freuen, wenn mir jemand einen Tipp geben könnte, wo mein Denkfehler ist.Hier ist mein aktueller Blockly export: (aufgrund eines Serverfehlers kann ich leider keine Screenshots hochladen)
<block xmlns="https://developers.google.com/blockly/xml" type="mqtt_sendmessage" id="=l^V;{7ekxVee}KB^~,O" disabled="true" x="158" y="522"> <field name="INSTANCE">.1</field> <field name="RETAIN">FALSE</field> <value name="TOPIC"> <shadow type="text" id="p32O?4wE4N7j/eflLKSj"> <field name="TEXT">meter</field> </shadow> </value> <value name="MESSAGE"> <shadow type="text" id="/Lm4|~VL1bKyF+2LPRn1"> <field name="TEXT">{ "e_consumed": 1234.56, "e_produced": 1234.56, "er_consumed": 123.45, "er_produced": 123.45, "f": 50.0, "u1": 230.0, "u2": 230.0, "u3": 230.0, "i1": 10.0, "i2": 10.0, "i3": 10.0, "p1": 2200.0, "p2": 2100.0, "p3": 2050.0, "pt": 6350.0, "pr1": 200.0, "pr2": 200.0, "pr3": 200.0, "prt": 600.0, "pa1": 2200.0, "pa2": 2100.0, "pa3": 2050.0, "pat": 6350.0, "pf1": 0.95, "pf2": 0.95, "pf3": 0.95, "pft": 0.95, "last_updated": 161803398 }</field> </shadow> <block type="convert_object2json" id="{R.[$53zNZ[sNd_//8|s"> <field name="PRETTIFY">FALSE</field> <value name="VALUE"> <block type="lists_create_with" id="D]zbn1)yzi#r=vH@_,,8"> <mutation items="5"></mutation> <value name="ADD0"> <block type="variables_get" id="E,R*cI23TrW20mOH4L)@"> <field name="VAR" id="b,Tv|)ZW]?0/X7?HFNA/">p1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="q|Qx$}t~QY9T{jRq.2O["> <field name="VAR" id="t`LpeQ8TIKyT1N3@Fcgo">p2</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="m|x}H}/e]`:+-MPRd*q+"> <field name="VAR" id="],Vk!HqV1|bZB2|/jI#+">p3</field> </block> </value> <value name="ADD3"> <block type="variables_get" id="Pa=kS:)bnj0K,|R1g,Yd"> <field name="VAR" id="x7tIkP4o4baAW1Q~e5$^">pt</field> </block> </value> <value name="ADD4"> <block type="variables_get" id="h`xoM{YQgCs;d`In0*a/"> <field name="VAR" id="MAbJ~67vW^YK]n3(gWm2">last_updated</field> </block> </value> </block> </value> </block> </value> </block>
-
Hier nun der Screenshot:
-
@passuff Ist die Länge immer gleich? Was Du brauchst ist ein Objekt. Die Objekt-Bausteine sind ja noch relativ neu im JavaScript Adapter.
Siehe https://forum.iobroker.net/topic/73439/javascript-7-9-0-neue-objekt-und-http-bausteine
-
@haus-automatisierung du meinst die Länge des Strings? oder die Anzahl der Variablen?
-
@passuff Was Du bekommst ist ja ein Array. Wenn die Länge immer gleich ist kann man das ja fix auf die Attribute im neuen Objekt übertragen.
-
@haus-automatisierung sagte in json aus Variablen erstellen:
Siehe https://forum.iobroker.net/topic/73439/javascript-7-9-0-neue-objekt-und-http-bausteine
Danke, hat funktioniert!