Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [gelöst] Blockly JSON Eintrag ändern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[gelöst] Blockly JSON Eintrag ändern

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 3 Kommentatoren 1.1k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • rantanplanR rantanplan

    Hallo zusammen.
    Ich könnte mal eine Erleuchtung gebrauchen.

    Momentan kämpfe ich mit dem JSON Format und den neuen Blockly-Bausteinen herum.
    Ziel ist es ein JSON (mit mehreren Objekten) einzulesen, Daten ändern und wieder speichern.
    Nach etlichen Versuchen und Forenbeiträgen ist mir dies teilweise gelungen.
    Bei einem, ich nenne es mal eindimensionalem JSON, funktioniert es.

    Hier mein funktionierendes Beispiel.
    Noch ein Tipp für blutige JSON-Anfänger wie mich. Ich benutze in dem Beispiel eine Zahl als „id“.
    Deshalb reicht $[id=2] zur Auswahl. Wenn man Text auswählen möchte muss man Anführungszeichen setzen z.B. $[id=“Wohnzimmer“]. UND ganz wichtig auf Groß-, Kleinschreibung achten.

    Blockly Bild:


    Blockly-1.png

    Das JSON dazu:

    [
       {
       	"id": 1,
       	"Name": "Mustermann-1",
       	"Strasse": "Musterstrasse-1"
       },
       {
       	"id": 2,
       	"Name": "Mustermann-2",
       	"Strasse": "Musterstrasse-2"
       },
       {
       	"id": 3,
       	"Name": "Mustermann-3",
       	"Strasse": "Musterstrasse-3"
       },
       {
       	"id": 4,
       	"Name": "Mustermann-4",
       	"Strasse": "Musterstrasse-4"
       }
    ]
    


    Blockly Source:

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
       <variable id="1i*5:Ai4Ett,)dK]J`Ms">Test</variable>
     </variables>
     <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-662" y="-513">
       <field name="COMMENT">JSON Original setzen</field>
       <next>
         <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
           <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
           <value name="VALUE">
             <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
               <value name="VALUE">
                 <block type="text" id="0Dia]flH6dkI65v*?aV1">
                   <field name="TEXT">[&#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": "Mustermann-1", &#9;&#9;"Strasse": "Musterstrasse-1" &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": "Mustermann-2", &#9;&#9;"Strasse": "Musterstrasse-2" &#9;}, &#9;{ &#9;&#9;"id": 3, &#9;&#9;"Name": "Mustermann-3", &#9;&#9;"Strasse": "Musterstrasse-3" &#9;}, &#9;{ &#9;&#9;"id": 4, &#9;&#9;"Name": "Mustermann-4", &#9;&#9;"Strasse": "Musterstrasse-4" &#9;} ]</field>
                 </block>
               </value>
             </block>
           </value>
           <next>
             <block type="debug" id="G0PT1C@-+^^N/CHY+3W(">
               <field name="Severity">info</field>
               <value name="TEXT">
                 <shadow type="text" id="-?ue!/szD6[5B+iZgduV">
                   <field name="TEXT">***********************Original*************************</field>
                 </shadow>
               </value>
               <next>
                 <block type="debug" id="sVBBMnoP3WU;i^.vpkUK">
                   <field name="Severity">info</field>
                   <value name="TEXT">
                     <shadow type="text" id="$n;cwoQhxB-l:^aB[;3y">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="variables_get" id="]yqvj=AwtGWNj4ceyf1.">
                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                     </block>
                   </value>
                   <next>
                     <block type="comment" id="#]blWwhzWtX]YPsfsrl0">
                       <field name="COMMENT">ID auswählen</field>
                       <next>
                         <block type="variables_set" id="!c$Jl5~[;116;39CA2Oq">
                           <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                           <value name="VALUE">
                             <block type="convert_jsonata" id="m/*`YBEKKh/G](?Hh!AW">
                               <value name="EXPRESSION">
                                 <shadow type="text" id="i{Y-;:}vj7V.;rV+$qk.">
                                   <field name="TEXT">$[id=2]</field>
                                 </shadow>
                               </value>
                               <value name="TARGET">
                                 <block type="variables_get" id="mY=yY6v4W1Y[:*qiw!v;">
                                   <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="w,!lv=}LxOQ4H(@yAVl0">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="wB:Dj2y/5)(9N6LV+TGY">
                                   <field name="TEXT">*******************gewählte id aus Test*****************************</field>
                                 </shadow>
                               </value>
                               <next>
                                 <block type="debug" id="Uk6X0.rUW.}Zj0kW36Z+">
                                   <field name="Severity">info</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="]k,)C,tu|!#usM{872.w">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="variables_get" id="t[J.%Q:E77|W,74a~{pQ">
                                       <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id="(qT@FTLET6b10_JFi!~C">
                                       <field name="Severity">info</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="5qAyPX@`/[(=A04N_GAk">
                                           <field name="TEXT">*****************Name aus id Test*******************************</field>
                                         </shadow>
                                       </value>
                                       <next>
                                         <block type="debug" id="n#k+N=m|7jlQ^.U`6TO.">
                                           <field name="Severity">info</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="@Waf()*5z4tgSz=~`9;q">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="get_attr" id="JI~pU_gf*(#gv1/edYQ~">
                                               <value name="PATH">
                                                 <shadow type="text" id="N+9`#Renf`-5*|m.e5Mb">
                                                   <field name="TEXT">Name</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <shadow type="get_object" id="he19iPE?;jvq_]^{$}D)">
                                                   <field name="OID">Object ID</field>
                                                 </shadow>
                                                 <block type="variables_get" id="`Tf|XMy3Xz4n%pvE]7D`">
                                                   <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="comment" id="[A:y1svo)[8okZ`xVd8F">
                                               <field name="COMMENT">Name ändern</field>
                                               <next>
                                                 <block type="object_set_attr" id="C9Jkydh,oHUv*[-N?|JU">
                                                   <field name="ATTR">Name</field>
                                                   <value name="OBJECT">
                                                     <block type="variables_get" id="Rulq9N?,@SJ0!vE@%~@u">
                                                       <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                     </block>
                                                   </value>
                                                   <value name="VALUE">
                                                     <shadow type="text" id="cPKpK$N$0(RN3$XQ^+jR">
                                                       <field name="TEXT">##### Test ####</field>
                                                     </shadow>
                                                   </value>
                                                   <next>
                                                     <block type="debug" id="{3{b[R+@?$$^4-?/c10a">
                                                       <field name="Severity">info</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="o8gS(jF)q:Lu,[z:mB6,">
                                                           <field name="TEXT">*****************geänderter Name aus id Test*******************************</field>
                                                         </shadow>
                                                       </value>
                                                       <next>
                                                         <block type="debug" id="(K-i7fej:dx3]x#lW4Uf">
                                                           <field name="Severity">info</field>
                                                           <value name="TEXT">
                                                             <shadow type="text" id="@Waf()*5z4tgSz=~`9;q">
                                                               <field name="TEXT">test</field>
                                                             </shadow>
                                                             <block type="get_attr" id="GCk[FrLUL^iC$GAjzB=+">
                                                               <value name="PATH">
                                                                 <shadow type="text" id="F{ZBr#$iR*9eW{b%fDMk">
                                                                   <field name="TEXT">Name</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="OBJECT">
                                                                 <shadow type="get_object" id="he19iPE?;jvq_]^{$}D)">
                                                                   <field name="OID">Object ID</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="N[t4(IlB;RU`5`_/XvCK">
                                                                   <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="debug" id="u4CybUw/pq2L%N=4i5oE">
                                                               <field name="Severity">info</field>
                                                               <value name="TEXT">
                                                                 <shadow type="text" id="likT5Md`DPV,p6-!r!E(">
                                                                   <field name="TEXT">***************geändertes JSON Original*********************************</field>
                                                                 </shadow>
                                                               </value>
                                                               <next>
                                                                 <block type="debug" id="L=J^~Fy(P]3=(*,3mco1">
                                                                   <field name="Severity">info</field>
                                                                   <value name="TEXT">
                                                                     <shadow type="text" id="$n;cwoQhxB-l:^aB[;3y">
                                                                       <field name="TEXT">test</field>
                                                                     </shadow>
                                                                     <block type="variables_get" id="Sp=iDIlnpU{u9{ThZ4M;">
                                                                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </next>
     </block>
    </xml>
    

    Nun zu dem Beispiel das NICHT funktioniert.
    Wobei ich nicht weiß ob es an mir liegt oder ein Bug im „Setze Attribut“ Baustein ist.

    Blockly Bild:


    Blockly-2.png

    Das JSON dazu:

    [
    {
       	"id": 1,
       	"Name": {
       		"Vorname": "Henri-1",
       		"Nachname": "Mustermann-1"
       	},
       	"Anschrift": {
       		"Strasse": "Musterstrasse-1",
       		"Ort:": "Musterort-1"
       	}
       },
       {
       	"id": 2,
       	"Name": {
       		"Vorname": "Henri-2",
       		"Nachname": "Mustermann-2"
       	},
       	"Anschrift": {
       		"Strasse": "Musterstrasse-2",
       		"Ort:": "Musterort-2"
       	}
       }
    ]
    

    Blockly Source:

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
       <variable id="5^q]{Sfyr#dahNiN]R=@">Test</variable>
     </variables>
     <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-612" y="-462">
       <field name="COMMENT">JSON Original setzen</field>
       <next>
         <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
           <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
           <value name="VALUE">
             <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
               <value name="VALUE">
                 <block type="text" id="0Dia]flH6dkI65v*?aV1">
                   <field name="TEXT">[ &#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-1", &#9;&#9;&#9;"Nachname": "Mustermann-1" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-1", &#9;&#9;&#9;"Ort:": "Musterort-1" &#9;&#9;} &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-2", &#9;&#9;&#9;"Nachname": "Mustermann-2" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-2", &#9;&#9;&#9;"Ort:": "Musterort-2" &#9;&#9;} &#9;} ]</field>
                 </block>
               </value>
             </block>
           </value>
           <next>
             <block type="debug" id="fkNpN*WtWl3Fb2%q8nEa">
               <field name="Severity">info</field>
               <value name="TEXT">
                 <shadow type="text" id="5V@1a4j+tNfTC^m`J8xd">
                   <field name="TEXT">*************Original***********************************</field>
                 </shadow>
               </value>
               <next>
                 <block type="debug" id="z1`|3d!r`x#;|_[hfk!s">
                   <field name="Severity">info</field>
                   <value name="TEXT">
                     <shadow type="text" id="*!}^.x?T/o7pW_u6@AJ.">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="variables_get" id="T%?wOC@q?lZP(;^3T2]i">
                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                     </block>
                   </value>
                   <next>
                     <block type="comment" id="#]blWwhzWtX]YPsfsrl0">
                       <field name="COMMENT">ID auswählen</field>
                       <next>
                         <block type="variables_set" id="6Ac9kNIPsPtgZ8rup7!T">
                           <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                           <value name="VALUE">
                             <block type="convert_jsonata" id="fpXEZ=|fVK4[tNsaaO03">
                               <value name="EXPRESSION">
                                 <shadow type="text" id="]D!S,2:xm^Q?r{A}9Bd=">
                                   <field name="TEXT">$[id=2]</field>
                                 </shadow>
                               </value>
                               <value name="TARGET">
                                 <block type="variables_get" id="+fIp5lfA+nfc^mLzl4G$">
                                   <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="5+/GJ(P-|CMB#B1Z)mXq">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="YeyR.v8_|O3DLwmd6]=F">
                                   <field name="TEXT">*************gewählte id aus Test***********************************</field>
                                 </shadow>
                               </value>
                               <next>
                                 <block type="debug" id="sVBBMnoP3WU;i^.vpkUK">
                                   <field name="Severity">info</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="jjF5++FKq9oUup##S3;i">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="variables_get" id="]yqvj=AwtGWNj4ceyf1.">
                                       <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id="*,IKqGYVj_KvEF=+-S(@">
                                       <field name="Severity">info</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="RC`arNyLE9ok[SDiDSEE">
                                           <field name="TEXT">*****************Nachname aus id Test****************************</field>
                                         </shadow>
                                       </value>
                                       <next>
                                         <block type="debug" id="L|BS,Me79{YBXCMc8iBi">
                                           <field name="Severity">info</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="get_attr" id="PrG6I%X6-N_$`STD$M~q">
                                               <value name="PATH">
                                                 <shadow type="text" id="P$+/{k4Nn*[nsEg)HwCs">
                                                   <field name="TEXT">Name.Nachname</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                   <field name="OID">Object ID</field>
                                                 </shadow>
                                                 <block type="variables_get" id="*rkDqOkD5O(59;2=v6-M">
                                                   <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="comment" id="pEFVc^J49;#t.tbk[#4:">
                                               <field name="COMMENT">Nachname ändern</field>
                                               <next>
                                                 <block type="object_set_attr" id=",dByN[roU:;u[3Qp`q5%">
                                                   <field name="ATTR">Name.Nachname</field>
                                                   <value name="OBJECT">
                                                     <block type="variables_get" id="O%@zYESZw|{U[MBJiTOD">
                                                       <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                     </block>
                                                   </value>
                                                   <value name="VALUE">
                                                     <shadow type="text" id=":z2N;vi4f!oi340_l!A8">
                                                       <field name="TEXT">##### Test ####</field>
                                                     </shadow>
                                                   </value>
                                                   <next>
                                                     <block type="debug" id="Z:{CHk3GRUVm_h*{ZkaP">
                                                       <field name="Severity">info</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="x7F#YLHp8Tk{b5[R5lH:">
                                                           <field name="TEXT">*******************Nachname wurde nicht geändert*****************************</field>
                                                         </shadow>
                                                       </value>
                                                       <next>
                                                         <block type="debug" id="s}]*DdIh]J+R=JDfLe~Q">
                                                           <field name="Severity">info</field>
                                                           <value name="TEXT">
                                                             <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                               <field name="TEXT">test</field>
                                                             </shadow>
                                                             <block type="get_attr" id="gTS*`0}7VQX+H[DJOMo$">
                                                               <value name="PATH">
                                                                 <shadow type="text" id="`PV(~xtZXNCH?]jjXY4c">
                                                                   <field name="TEXT">Name.Nachname</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="OBJECT">
                                                                 <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                                   <field name="OID">Object ID</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="Pz0TBSL@g3n%SZ@}LfCA">
                                                                   <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="debug" id="`)zO#6SgG?Cc/Qd:u_3S">
                                                               <field name="Severity">info</field>
                                                               <value name="TEXT">
                                                                 <shadow type="text" id="!{3]D=i848TY!$VnWI(u">
                                                                   <field name="TEXT">*******************geändertes JSON original*****************************</field>
                                                                 </shadow>
                                                               </value>
                                                               <next>
                                                                 <block type="debug" id="ylKTG,|U,#Kd}StRS2gi">
                                                                   <field name="Severity">info</field>
                                                                   <value name="TEXT">
                                                                     <shadow type="text" id="H:E#9+yvj,jDC`,Sx[j4">
                                                                       <field name="TEXT">test</field>
                                                                     </shadow>
                                                                     <block type="variables_get" id="^-zhPwZa/?(%stB^iD]J">
                                                                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </next>
     </block>
    </xml>
    


    Das geänderte JSON sieht dann so aus.

    [
     {
       id: 1,
       Name: { Vorname: 'Henri-1', Nachname: 'Mustermann-1' },
       Anschrift: { Strasse: 'Musterstrasse-1', 'Ort:': 'Musterort-1' }
     },
     {
       id: 2,
       Name: { Vorname: 'Henri-2', Nachname: 'Mustermann-2' },
       Anschrift: { Strasse: 'Musterstrasse-2', 'Ort:': 'Musterort-2' },
       'Name.Nachname': '##### Test ####'
     }
    ]
    


    Anstatt den Nachnamen zu ändern wird die Änderung komplett, mit Attribut, an id 2 angehängt.

    Mache ich etwas falsch oder ist es ein Bug.

    Bin für jeden Tipp dankbar!

    Grüße

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #2

    @rantanplan Ich kann auch keinen Fehler direkt entdecken - ich würde halt weiter JSONATA nehmen um das Attribut zu ändern. Wahrscheinlich kann das Puzzleteil nicht mit verschachtelten Objekten arbeiten.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    mickymM 1 Antwort Letzte Antwort
    0
    • rantanplanR rantanplan

      Hallo zusammen.
      Ich könnte mal eine Erleuchtung gebrauchen.

      Momentan kämpfe ich mit dem JSON Format und den neuen Blockly-Bausteinen herum.
      Ziel ist es ein JSON (mit mehreren Objekten) einzulesen, Daten ändern und wieder speichern.
      Nach etlichen Versuchen und Forenbeiträgen ist mir dies teilweise gelungen.
      Bei einem, ich nenne es mal eindimensionalem JSON, funktioniert es.

      Hier mein funktionierendes Beispiel.
      Noch ein Tipp für blutige JSON-Anfänger wie mich. Ich benutze in dem Beispiel eine Zahl als „id“.
      Deshalb reicht $[id=2] zur Auswahl. Wenn man Text auswählen möchte muss man Anführungszeichen setzen z.B. $[id=“Wohnzimmer“]. UND ganz wichtig auf Groß-, Kleinschreibung achten.

      Blockly Bild:


      Blockly-1.png

      Das JSON dazu:

      [
         {
         	"id": 1,
         	"Name": "Mustermann-1",
         	"Strasse": "Musterstrasse-1"
         },
         {
         	"id": 2,
         	"Name": "Mustermann-2",
         	"Strasse": "Musterstrasse-2"
         },
         {
         	"id": 3,
         	"Name": "Mustermann-3",
         	"Strasse": "Musterstrasse-3"
         },
         {
         	"id": 4,
         	"Name": "Mustermann-4",
         	"Strasse": "Musterstrasse-4"
         }
      ]
      


      Blockly Source:

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
         <variable id="1i*5:Ai4Ett,)dK]J`Ms">Test</variable>
       </variables>
       <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-662" y="-513">
         <field name="COMMENT">JSON Original setzen</field>
         <next>
           <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
             <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
             <value name="VALUE">
               <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                 <value name="VALUE">
                   <block type="text" id="0Dia]flH6dkI65v*?aV1">
                     <field name="TEXT">[&#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": "Mustermann-1", &#9;&#9;"Strasse": "Musterstrasse-1" &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": "Mustermann-2", &#9;&#9;"Strasse": "Musterstrasse-2" &#9;}, &#9;{ &#9;&#9;"id": 3, &#9;&#9;"Name": "Mustermann-3", &#9;&#9;"Strasse": "Musterstrasse-3" &#9;}, &#9;{ &#9;&#9;"id": 4, &#9;&#9;"Name": "Mustermann-4", &#9;&#9;"Strasse": "Musterstrasse-4" &#9;} ]</field>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="debug" id="G0PT1C@-+^^N/CHY+3W(">
                 <field name="Severity">info</field>
                 <value name="TEXT">
                   <shadow type="text" id="-?ue!/szD6[5B+iZgduV">
                     <field name="TEXT">***********************Original*************************</field>
                   </shadow>
                 </value>
                 <next>
                   <block type="debug" id="sVBBMnoP3WU;i^.vpkUK">
                     <field name="Severity">info</field>
                     <value name="TEXT">
                       <shadow type="text" id="$n;cwoQhxB-l:^aB[;3y">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="variables_get" id="]yqvj=AwtGWNj4ceyf1.">
                         <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                       </block>
                     </value>
                     <next>
                       <block type="comment" id="#]blWwhzWtX]YPsfsrl0">
                         <field name="COMMENT">ID auswählen</field>
                         <next>
                           <block type="variables_set" id="!c$Jl5~[;116;39CA2Oq">
                             <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                             <value name="VALUE">
                               <block type="convert_jsonata" id="m/*`YBEKKh/G](?Hh!AW">
                                 <value name="EXPRESSION">
                                   <shadow type="text" id="i{Y-;:}vj7V.;rV+$qk.">
                                     <field name="TEXT">$[id=2]</field>
                                   </shadow>
                                 </value>
                                 <value name="TARGET">
                                   <block type="variables_get" id="mY=yY6v4W1Y[:*qiw!v;">
                                     <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="w,!lv=}LxOQ4H(@yAVl0">
                                 <field name="Severity">info</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="wB:Dj2y/5)(9N6LV+TGY">
                                     <field name="TEXT">*******************gewählte id aus Test*****************************</field>
                                   </shadow>
                                 </value>
                                 <next>
                                   <block type="debug" id="Uk6X0.rUW.}Zj0kW36Z+">
                                     <field name="Severity">info</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="]k,)C,tu|!#usM{872.w">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="variables_get" id="t[J.%Q:E77|W,74a~{pQ">
                                         <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="debug" id="(qT@FTLET6b10_JFi!~C">
                                         <field name="Severity">info</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="5qAyPX@`/[(=A04N_GAk">
                                             <field name="TEXT">*****************Name aus id Test*******************************</field>
                                           </shadow>
                                         </value>
                                         <next>
                                           <block type="debug" id="n#k+N=m|7jlQ^.U`6TO.">
                                             <field name="Severity">info</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="@Waf()*5z4tgSz=~`9;q">
                                                 <field name="TEXT">test</field>
                                               </shadow>
                                               <block type="get_attr" id="JI~pU_gf*(#gv1/edYQ~">
                                                 <value name="PATH">
                                                   <shadow type="text" id="N+9`#Renf`-5*|m.e5Mb">
                                                     <field name="TEXT">Name</field>
                                                   </shadow>
                                                 </value>
                                                 <value name="OBJECT">
                                                   <shadow type="get_object" id="he19iPE?;jvq_]^{$}D)">
                                                     <field name="OID">Object ID</field>
                                                   </shadow>
                                                   <block type="variables_get" id="`Tf|XMy3Xz4n%pvE]7D`">
                                                     <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="comment" id="[A:y1svo)[8okZ`xVd8F">
                                                 <field name="COMMENT">Name ändern</field>
                                                 <next>
                                                   <block type="object_set_attr" id="C9Jkydh,oHUv*[-N?|JU">
                                                     <field name="ATTR">Name</field>
                                                     <value name="OBJECT">
                                                       <block type="variables_get" id="Rulq9N?,@SJ0!vE@%~@u">
                                                         <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                       </block>
                                                     </value>
                                                     <value name="VALUE">
                                                       <shadow type="text" id="cPKpK$N$0(RN3$XQ^+jR">
                                                         <field name="TEXT">##### Test ####</field>
                                                       </shadow>
                                                     </value>
                                                     <next>
                                                       <block type="debug" id="{3{b[R+@?$$^4-?/c10a">
                                                         <field name="Severity">info</field>
                                                         <value name="TEXT">
                                                           <shadow type="text" id="o8gS(jF)q:Lu,[z:mB6,">
                                                             <field name="TEXT">*****************geänderter Name aus id Test*******************************</field>
                                                           </shadow>
                                                         </value>
                                                         <next>
                                                           <block type="debug" id="(K-i7fej:dx3]x#lW4Uf">
                                                             <field name="Severity">info</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id="@Waf()*5z4tgSz=~`9;q">
                                                                 <field name="TEXT">test</field>
                                                               </shadow>
                                                               <block type="get_attr" id="GCk[FrLUL^iC$GAjzB=+">
                                                                 <value name="PATH">
                                                                   <shadow type="text" id="F{ZBr#$iR*9eW{b%fDMk">
                                                                     <field name="TEXT">Name</field>
                                                                   </shadow>
                                                                 </value>
                                                                 <value name="OBJECT">
                                                                   <shadow type="get_object" id="he19iPE?;jvq_]^{$}D)">
                                                                     <field name="OID">Object ID</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="N[t4(IlB;RU`5`_/XvCK">
                                                                     <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="debug" id="u4CybUw/pq2L%N=4i5oE">
                                                                 <field name="Severity">info</field>
                                                                 <value name="TEXT">
                                                                   <shadow type="text" id="likT5Md`DPV,p6-!r!E(">
                                                                     <field name="TEXT">***************geändertes JSON Original*********************************</field>
                                                                   </shadow>
                                                                 </value>
                                                                 <next>
                                                                   <block type="debug" id="L=J^~Fy(P]3=(*,3mco1">
                                                                     <field name="Severity">info</field>
                                                                     <value name="TEXT">
                                                                       <shadow type="text" id="$n;cwoQhxB-l:^aB[;3y">
                                                                         <field name="TEXT">test</field>
                                                                       </shadow>
                                                                       <block type="variables_get" id="Sp=iDIlnpU{u9{ThZ4M;">
                                                                         <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

      Nun zu dem Beispiel das NICHT funktioniert.
      Wobei ich nicht weiß ob es an mir liegt oder ein Bug im „Setze Attribut“ Baustein ist.

      Blockly Bild:


      Blockly-2.png

      Das JSON dazu:

      [
      {
         	"id": 1,
         	"Name": {
         		"Vorname": "Henri-1",
         		"Nachname": "Mustermann-1"
         	},
         	"Anschrift": {
         		"Strasse": "Musterstrasse-1",
         		"Ort:": "Musterort-1"
         	}
         },
         {
         	"id": 2,
         	"Name": {
         		"Vorname": "Henri-2",
         		"Nachname": "Mustermann-2"
         	},
         	"Anschrift": {
         		"Strasse": "Musterstrasse-2",
         		"Ort:": "Musterort-2"
         	}
         }
      ]
      

      Blockly Source:

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
         <variable id="5^q]{Sfyr#dahNiN]R=@">Test</variable>
       </variables>
       <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-612" y="-462">
         <field name="COMMENT">JSON Original setzen</field>
         <next>
           <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
             <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
             <value name="VALUE">
               <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                 <value name="VALUE">
                   <block type="text" id="0Dia]flH6dkI65v*?aV1">
                     <field name="TEXT">[ &#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-1", &#9;&#9;&#9;"Nachname": "Mustermann-1" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-1", &#9;&#9;&#9;"Ort:": "Musterort-1" &#9;&#9;} &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-2", &#9;&#9;&#9;"Nachname": "Mustermann-2" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-2", &#9;&#9;&#9;"Ort:": "Musterort-2" &#9;&#9;} &#9;} ]</field>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="debug" id="fkNpN*WtWl3Fb2%q8nEa">
                 <field name="Severity">info</field>
                 <value name="TEXT">
                   <shadow type="text" id="5V@1a4j+tNfTC^m`J8xd">
                     <field name="TEXT">*************Original***********************************</field>
                   </shadow>
                 </value>
                 <next>
                   <block type="debug" id="z1`|3d!r`x#;|_[hfk!s">
                     <field name="Severity">info</field>
                     <value name="TEXT">
                       <shadow type="text" id="*!}^.x?T/o7pW_u6@AJ.">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="variables_get" id="T%?wOC@q?lZP(;^3T2]i">
                         <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                       </block>
                     </value>
                     <next>
                       <block type="comment" id="#]blWwhzWtX]YPsfsrl0">
                         <field name="COMMENT">ID auswählen</field>
                         <next>
                           <block type="variables_set" id="6Ac9kNIPsPtgZ8rup7!T">
                             <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                             <value name="VALUE">
                               <block type="convert_jsonata" id="fpXEZ=|fVK4[tNsaaO03">
                                 <value name="EXPRESSION">
                                   <shadow type="text" id="]D!S,2:xm^Q?r{A}9Bd=">
                                     <field name="TEXT">$[id=2]</field>
                                   </shadow>
                                 </value>
                                 <value name="TARGET">
                                   <block type="variables_get" id="+fIp5lfA+nfc^mLzl4G$">
                                     <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="5+/GJ(P-|CMB#B1Z)mXq">
                                 <field name="Severity">info</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="YeyR.v8_|O3DLwmd6]=F">
                                     <field name="TEXT">*************gewählte id aus Test***********************************</field>
                                   </shadow>
                                 </value>
                                 <next>
                                   <block type="debug" id="sVBBMnoP3WU;i^.vpkUK">
                                     <field name="Severity">info</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="jjF5++FKq9oUup##S3;i">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="variables_get" id="]yqvj=AwtGWNj4ceyf1.">
                                         <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="debug" id="*,IKqGYVj_KvEF=+-S(@">
                                         <field name="Severity">info</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="RC`arNyLE9ok[SDiDSEE">
                                             <field name="TEXT">*****************Nachname aus id Test****************************</field>
                                           </shadow>
                                         </value>
                                         <next>
                                           <block type="debug" id="L|BS,Me79{YBXCMc8iBi">
                                             <field name="Severity">info</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                 <field name="TEXT">test</field>
                                               </shadow>
                                               <block type="get_attr" id="PrG6I%X6-N_$`STD$M~q">
                                                 <value name="PATH">
                                                   <shadow type="text" id="P$+/{k4Nn*[nsEg)HwCs">
                                                     <field name="TEXT">Name.Nachname</field>
                                                   </shadow>
                                                 </value>
                                                 <value name="OBJECT">
                                                   <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                     <field name="OID">Object ID</field>
                                                   </shadow>
                                                   <block type="variables_get" id="*rkDqOkD5O(59;2=v6-M">
                                                     <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="comment" id="pEFVc^J49;#t.tbk[#4:">
                                                 <field name="COMMENT">Nachname ändern</field>
                                                 <next>
                                                   <block type="object_set_attr" id=",dByN[roU:;u[3Qp`q5%">
                                                     <field name="ATTR">Name.Nachname</field>
                                                     <value name="OBJECT">
                                                       <block type="variables_get" id="O%@zYESZw|{U[MBJiTOD">
                                                         <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                       </block>
                                                     </value>
                                                     <value name="VALUE">
                                                       <shadow type="text" id=":z2N;vi4f!oi340_l!A8">
                                                         <field name="TEXT">##### Test ####</field>
                                                       </shadow>
                                                     </value>
                                                     <next>
                                                       <block type="debug" id="Z:{CHk3GRUVm_h*{ZkaP">
                                                         <field name="Severity">info</field>
                                                         <value name="TEXT">
                                                           <shadow type="text" id="x7F#YLHp8Tk{b5[R5lH:">
                                                             <field name="TEXT">*******************Nachname wurde nicht geändert*****************************</field>
                                                           </shadow>
                                                         </value>
                                                         <next>
                                                           <block type="debug" id="s}]*DdIh]J+R=JDfLe~Q">
                                                             <field name="Severity">info</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                                 <field name="TEXT">test</field>
                                                               </shadow>
                                                               <block type="get_attr" id="gTS*`0}7VQX+H[DJOMo$">
                                                                 <value name="PATH">
                                                                   <shadow type="text" id="`PV(~xtZXNCH?]jjXY4c">
                                                                     <field name="TEXT">Name.Nachname</field>
                                                                   </shadow>
                                                                 </value>
                                                                 <value name="OBJECT">
                                                                   <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                                     <field name="OID">Object ID</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="Pz0TBSL@g3n%SZ@}LfCA">
                                                                     <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="debug" id="`)zO#6SgG?Cc/Qd:u_3S">
                                                                 <field name="Severity">info</field>
                                                                 <value name="TEXT">
                                                                   <shadow type="text" id="!{3]D=i848TY!$VnWI(u">
                                                                     <field name="TEXT">*******************geändertes JSON original*****************************</field>
                                                                   </shadow>
                                                                 </value>
                                                                 <next>
                                                                   <block type="debug" id="ylKTG,|U,#Kd}StRS2gi">
                                                                     <field name="Severity">info</field>
                                                                     <value name="TEXT">
                                                                       <shadow type="text" id="H:E#9+yvj,jDC`,Sx[j4">
                                                                         <field name="TEXT">test</field>
                                                                       </shadow>
                                                                       <block type="variables_get" id="^-zhPwZa/?(%stB^iD]J">
                                                                         <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      


      Das geänderte JSON sieht dann so aus.

      [
       {
         id: 1,
         Name: { Vorname: 'Henri-1', Nachname: 'Mustermann-1' },
         Anschrift: { Strasse: 'Musterstrasse-1', 'Ort:': 'Musterort-1' }
       },
       {
         id: 2,
         Name: { Vorname: 'Henri-2', Nachname: 'Mustermann-2' },
         Anschrift: { Strasse: 'Musterstrasse-2', 'Ort:': 'Musterort-2' },
         'Name.Nachname': '##### Test ####'
       }
      ]
      


      Anstatt den Nachnamen zu ändern wird die Änderung komplett, mit Attribut, an id 2 angehängt.

      Mache ich etwas falsch oder ist es ein Bug.

      Bin für jeden Tipp dankbar!

      Grüße

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #3

      @rantanplan sagte: Anstatt den Nachnamen zu ändern

      Blockly_temp.JPG

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      2
      • mickymM mickym

        @rantanplan Ich kann auch keinen Fehler direkt entdecken - ich würde halt weiter JSONATA nehmen um das Attribut zu ändern. Wahrscheinlich kann das Puzzleteil nicht mit verschachtelten Objekten arbeiten.

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #4

        67fdce23-3452-41c1-be66-2fa1acffb2f6-image.png

        $~>|Name|{"Nachname":"geänderter Nachname"}|
        

        Hier wieder Dein Blockly zurück mit den Ergänzungen:

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
           <variable id="5^q]{Sfyr#dahNiN]R=@">Test</variable>
         </variables>
         <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-612" y="-462">
           <field name="COMMENT">JSON Original setzen</field>
           <next>
             <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
               <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
               <value name="VALUE">
                 <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                   <value name="VALUE">
                     <block type="text" id="0Dia]flH6dkI65v*?aV1">
                       <field name="TEXT">[ &#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-1", &#9;&#9;&#9;"Nachname": "Mustermann-1" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-1", &#9;&#9;&#9;"Ort:": "Musterort-1" &#9;&#9;} &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-2", &#9;&#9;&#9;"Nachname": "Mustermann-2" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-2", &#9;&#9;&#9;"Ort:": "Musterort-2" &#9;&#9;} &#9;} ]</field>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="debug" id="fkNpN*WtWl3Fb2%q8nEa">
                   <field name="Severity">info</field>
                   <value name="TEXT">
                     <shadow type="text" id="5V@1a4j+tNfTC^m`J8xd">
                       <field name="TEXT">*************Original***********************************</field>
                     </shadow>
                   </value>
                   <next>
                     <block type="debug" id="z1`|3d!r`x#;|_[hfk!s">
                       <field name="Severity">info</field>
                       <value name="TEXT">
                         <shadow type="text" id="*!}^.x?T/o7pW_u6@AJ.">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="variables_get" id="T%?wOC@q?lZP(;^3T2]i">
                           <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                         </block>
                       </value>
                       <next>
                         <block type="comment" id="#]blWwhzWtX]YPsfsrl0">
                           <field name="COMMENT">ID auswählen</field>
                           <next>
                             <block type="variables_set" id="6Ac9kNIPsPtgZ8rup7!T">
                               <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                               <value name="VALUE">
                                 <block type="convert_jsonata" id="fpXEZ=|fVK4[tNsaaO03">
                                   <value name="EXPRESSION">
                                     <shadow type="text" id="]D!S,2:xm^Q?r{A}9Bd=">
                                       <field name="TEXT">$[id=2]</field>
                                     </shadow>
                                   </value>
                                   <value name="TARGET">
                                     <block type="variables_get" id="+fIp5lfA+nfc^mLzl4G$">
                                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="debug" id="5+/GJ(P-|CMB#B1Z)mXq">
                                   <field name="Severity">info</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="YeyR.v8_|O3DLwmd6]=F">
                                       <field name="TEXT">*************gewählte id aus Test***********************************</field>
                                     </shadow>
                                   </value>
                                   <next>
                                     <block type="debug" id="sVBBMnoP3WU;i^.vpkUK">
                                       <field name="Severity">info</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="jjF5++FKq9oUup##S3;i">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="variables_get" id="]yqvj=AwtGWNj4ceyf1.">
                                           <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="debug" id="*,IKqGYVj_KvEF=+-S(@">
                                           <field name="Severity">info</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="RC`arNyLE9ok[SDiDSEE">
                                               <field name="TEXT">*****************Nachname aus id Test****************************</field>
                                             </shadow>
                                           </value>
                                           <next>
                                             <block type="debug" id="L|BS,Me79{YBXCMc8iBi">
                                               <field name="Severity">info</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="get_attr" id="PrG6I%X6-N_$`STD$M~q">
                                                   <value name="PATH">
                                                     <shadow type="text" id="P$+/{k4Nn*[nsEg)HwCs">
                                                       <field name="TEXT">Name.Nachname</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="OBJECT">
                                                     <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                       <field name="OID">Object ID</field>
                                                     </shadow>
                                                     <block type="variables_get" id="*rkDqOkD5O(59;2=v6-M">
                                                       <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="comment" id="pEFVc^J49;#t.tbk[#4:">
                                                   <field name="COMMENT">Nachname ändern</field>
                                                   <next>
                                                     <block type="object_set_attr" id=",dByN[roU:;u[3Qp`q5%">
                                                       <field name="ATTR">Name.Nachname</field>
                                                       <value name="OBJECT">
                                                         <block type="variables_get" id="O%@zYESZw|{U[MBJiTOD">
                                                           <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                         </block>
                                                       </value>
                                                       <value name="VALUE">
                                                         <shadow type="text" id=":z2N;vi4f!oi340_l!A8">
                                                           <field name="TEXT">##### Test ####</field>
                                                         </shadow>
                                                       </value>
                                                       <next>
                                                         <block type="debug" id="Z:{CHk3GRUVm_h*{ZkaP">
                                                           <field name="Severity">info</field>
                                                           <value name="TEXT">
                                                             <shadow type="text" id="x7F#YLHp8Tk{b5[R5lH:">
                                                               <field name="TEXT">*******************Nachname wurde nicht geändert*****************************</field>
                                                             </shadow>
                                                           </value>
                                                           <next>
                                                             <block type="debug" id=":9h8z3rZ6G@MYI84|G4^">
                                                               <field name="Severity">info</field>
                                                               <value name="TEXT">
                                                                 <shadow type="text" id="Tt=/H].l0?)mXb^z1#aR">
                                                                   <field name="TEXT">test</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="L@eI]^w(~P2heMtyom:%">
                                                                   <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="debug" id="s}]*DdIh]J+R=JDfLe~Q">
                                                                   <field name="Severity">info</field>
                                                                   <value name="TEXT">
                                                                     <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                                       <field name="TEXT">test</field>
                                                                     </shadow>
                                                                     <block type="get_attr" id="gTS*`0}7VQX+H[DJOMo$">
                                                                       <value name="PATH">
                                                                         <shadow type="text" id="`PV(~xtZXNCH?]jjXY4c">
                                                                           <field name="TEXT">Name.Nachname</field>
                                                                         </shadow>
                                                                       </value>
                                                                       <value name="OBJECT">
                                                                         <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                                           <field name="OID">Object ID</field>
                                                                         </shadow>
                                                                         <block type="variables_get" id="Pz0TBSL@g3n%SZ@}LfCA">
                                                                           <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="comment" id=":*btLRvc{8pB{#1%hjeE">
                                                                       <field name="COMMENT">Nachname mit JSONATA ändern</field>
                                                                       <next>
                                                                         <block type="debug" id="U#mO=guh;C;#/{#[+CM0">
                                                                           <field name="Severity">info</field>
                                                                           <value name="TEXT">
                                                                             <shadow type="text" id="vMk1dK[^$`^)zM]?J1!}">
                                                                               <field name="TEXT">*******************Nachname mit JSONATA geändert*****************************</field>
                                                                             </shadow>
                                                                           </value>
                                                                           <next>
                                                                             <block type="variables_set" id="iCICj=TiW1t)mf`?du[l">
                                                                               <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                               <value name="VALUE">
                                                                                 <block type="convert_jsonata" id="D_!Oh~{ETp[_1v;k7tBL">
                                                                                   <value name="EXPRESSION">
                                                                                     <shadow type="text" id="IO6S?eapGp8pgqqZ]jgy">
                                                                                       <field name="TEXT">$~&gt;|Name|{"Nachname":"geänderter Nachname"}|</field>
                                                                                     </shadow>
                                                                                   </value>
                                                                                   <value name="TARGET">
                                                                                     <block type="variables_get" id="#[V:f(k2]`WH!xry~Thd">
                                                                                       <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </value>
                                                                               <next>
                                                                                 <block type="debug" id="7ez/t3!Ksm/#Fwx^4K+,">
                                                                                   <field name="Severity">info</field>
                                                                                   <value name="TEXT">
                                                                                     <shadow type="text" id="Tt=/H].l0?)mXb^z1#aR">
                                                                                       <field name="TEXT">test</field>
                                                                                     </shadow>
                                                                                     <block type="variables_get" id="2Em~$t#kNiO0IvVv_zbG">
                                                                                       <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <next>
                                                                                     <block type="debug" id=")hCR3N0BhcFgdn[I:^9@">
                                                                                       <field name="Severity">info</field>
                                                                                       <value name="TEXT">
                                                                                         <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                                                           <field name="TEXT">test</field>
                                                                                         </shadow>
                                                                                         <block type="get_attr" id="tiNTn|{92(J$~MRW_f8Y">
                                                                                           <value name="PATH">
                                                                                             <shadow type="text" id="l[L;r_cZgED[(Z.zvGXu">
                                                                                               <field name="TEXT">Name.Nachname</field>
                                                                                             </shadow>
                                                                                           </value>
                                                                                           <value name="OBJECT">
                                                                                             <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                                                               <field name="OID">Object ID</field>
                                                                                             </shadow>
                                                                                             <block type="variables_get" id="wADRwpI4~opX4fZR#F-S">
                                                                                               <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                       <next>
                                                                                         <block type="debug" id="`)zO#6SgG?Cc/Qd:u_3S">
                                                                                           <field name="Severity">info</field>
                                                                                           <value name="TEXT">
                                                                                             <shadow type="text" id="!{3]D=i848TY!$VnWI(u">
                                                                                               <field name="TEXT">*******************geändertes JSON original*****************************</field>
                                                                                             </shadow>
                                                                                           </value>
                                                                                           <next>
                                                                                             <block type="debug" id="ylKTG,|U,#Kd}StRS2gi">
                                                                                               <field name="Severity">info</field>
                                                                                               <value name="TEXT">
                                                                                                 <shadow type="text" id="H:E#9+yvj,jDC`,Sx[j4">
                                                                                                   <field name="TEXT">test</field>
                                                                                                 </shadow>
                                                                                                 <block type="variables_get" id="^-zhPwZa/?(%stB^iD]J">
                                                                                                   <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </next>
                                                                                         </block>
                                                                                       </next>
                                                                                     </block>
                                                                                   </next>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
        </xml>
        

        Wie gesagt, wahrscheinlich kann das Puzzleteil nicht mit verschachtelten Objekten arbeiten.

        Genau- wie @paul53 es sonst letztlich gemacht hat in dem er alles bis auf eine Ebene in ein Objekt gebracht hat. Also
        name2:

        { Vorname: 'Henri-2', Nachname: 'Mustermann-2' }
        

        Wie gesagt, ich würde bei JSONATA bleiben, wenn Du es beherrschst - dann sparst Du Dir viel Code.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        paul53P 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          67fdce23-3452-41c1-be66-2fa1acffb2f6-image.png

          $~>|Name|{"Nachname":"geänderter Nachname"}|
          

          Hier wieder Dein Blockly zurück mit den Ergänzungen:

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
             <variable id="5^q]{Sfyr#dahNiN]R=@">Test</variable>
           </variables>
           <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-612" y="-462">
             <field name="COMMENT">JSON Original setzen</field>
             <next>
               <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
                 <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                 <value name="VALUE">
                   <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                     <value name="VALUE">
                       <block type="text" id="0Dia]flH6dkI65v*?aV1">
                         <field name="TEXT">[ &#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-1", &#9;&#9;&#9;"Nachname": "Mustermann-1" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-1", &#9;&#9;&#9;"Ort:": "Musterort-1" &#9;&#9;} &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-2", &#9;&#9;&#9;"Nachname": "Mustermann-2" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-2", &#9;&#9;&#9;"Ort:": "Musterort-2" &#9;&#9;} &#9;} ]</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="fkNpN*WtWl3Fb2%q8nEa">
                     <field name="Severity">info</field>
                     <value name="TEXT">
                       <shadow type="text" id="5V@1a4j+tNfTC^m`J8xd">
                         <field name="TEXT">*************Original***********************************</field>
                       </shadow>
                     </value>
                     <next>
                       <block type="debug" id="z1`|3d!r`x#;|_[hfk!s">
                         <field name="Severity">info</field>
                         <value name="TEXT">
                           <shadow type="text" id="*!}^.x?T/o7pW_u6@AJ.">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="variables_get" id="T%?wOC@q?lZP(;^3T2]i">
                             <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                           </block>
                         </value>
                         <next>
                           <block type="comment" id="#]blWwhzWtX]YPsfsrl0">
                             <field name="COMMENT">ID auswählen</field>
                             <next>
                               <block type="variables_set" id="6Ac9kNIPsPtgZ8rup7!T">
                                 <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                 <value name="VALUE">
                                   <block type="convert_jsonata" id="fpXEZ=|fVK4[tNsaaO03">
                                     <value name="EXPRESSION">
                                       <shadow type="text" id="]D!S,2:xm^Q?r{A}9Bd=">
                                         <field name="TEXT">$[id=2]</field>
                                       </shadow>
                                     </value>
                                     <value name="TARGET">
                                       <block type="variables_get" id="+fIp5lfA+nfc^mLzl4G$">
                                         <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="debug" id="5+/GJ(P-|CMB#B1Z)mXq">
                                     <field name="Severity">info</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="YeyR.v8_|O3DLwmd6]=F">
                                         <field name="TEXT">*************gewählte id aus Test***********************************</field>
                                       </shadow>
                                     </value>
                                     <next>
                                       <block type="debug" id="sVBBMnoP3WU;i^.vpkUK">
                                         <field name="Severity">info</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="jjF5++FKq9oUup##S3;i">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="variables_get" id="]yqvj=AwtGWNj4ceyf1.">
                                             <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="debug" id="*,IKqGYVj_KvEF=+-S(@">
                                             <field name="Severity">info</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="RC`arNyLE9ok[SDiDSEE">
                                                 <field name="TEXT">*****************Nachname aus id Test****************************</field>
                                               </shadow>
                                             </value>
                                             <next>
                                               <block type="debug" id="L|BS,Me79{YBXCMc8iBi">
                                                 <field name="Severity">info</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="get_attr" id="PrG6I%X6-N_$`STD$M~q">
                                                     <value name="PATH">
                                                       <shadow type="text" id="P$+/{k4Nn*[nsEg)HwCs">
                                                         <field name="TEXT">Name.Nachname</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="OBJECT">
                                                       <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                         <field name="OID">Object ID</field>
                                                       </shadow>
                                                       <block type="variables_get" id="*rkDqOkD5O(59;2=v6-M">
                                                         <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="comment" id="pEFVc^J49;#t.tbk[#4:">
                                                     <field name="COMMENT">Nachname ändern</field>
                                                     <next>
                                                       <block type="object_set_attr" id=",dByN[roU:;u[3Qp`q5%">
                                                         <field name="ATTR">Name.Nachname</field>
                                                         <value name="OBJECT">
                                                           <block type="variables_get" id="O%@zYESZw|{U[MBJiTOD">
                                                             <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                           </block>
                                                         </value>
                                                         <value name="VALUE">
                                                           <shadow type="text" id=":z2N;vi4f!oi340_l!A8">
                                                             <field name="TEXT">##### Test ####</field>
                                                           </shadow>
                                                         </value>
                                                         <next>
                                                           <block type="debug" id="Z:{CHk3GRUVm_h*{ZkaP">
                                                             <field name="Severity">info</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id="x7F#YLHp8Tk{b5[R5lH:">
                                                                 <field name="TEXT">*******************Nachname wurde nicht geändert*****************************</field>
                                                               </shadow>
                                                             </value>
                                                             <next>
                                                               <block type="debug" id=":9h8z3rZ6G@MYI84|G4^">
                                                                 <field name="Severity">info</field>
                                                                 <value name="TEXT">
                                                                   <shadow type="text" id="Tt=/H].l0?)mXb^z1#aR">
                                                                     <field name="TEXT">test</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="L@eI]^w(~P2heMtyom:%">
                                                                     <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="debug" id="s}]*DdIh]J+R=JDfLe~Q">
                                                                     <field name="Severity">info</field>
                                                                     <value name="TEXT">
                                                                       <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                                         <field name="TEXT">test</field>
                                                                       </shadow>
                                                                       <block type="get_attr" id="gTS*`0}7VQX+H[DJOMo$">
                                                                         <value name="PATH">
                                                                           <shadow type="text" id="`PV(~xtZXNCH?]jjXY4c">
                                                                             <field name="TEXT">Name.Nachname</field>
                                                                           </shadow>
                                                                         </value>
                                                                         <value name="OBJECT">
                                                                           <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                                             <field name="OID">Object ID</field>
                                                                           </shadow>
                                                                           <block type="variables_get" id="Pz0TBSL@g3n%SZ@}LfCA">
                                                                             <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <next>
                                                                       <block type="comment" id=":*btLRvc{8pB{#1%hjeE">
                                                                         <field name="COMMENT">Nachname mit JSONATA ändern</field>
                                                                         <next>
                                                                           <block type="debug" id="U#mO=guh;C;#/{#[+CM0">
                                                                             <field name="Severity">info</field>
                                                                             <value name="TEXT">
                                                                               <shadow type="text" id="vMk1dK[^$`^)zM]?J1!}">
                                                                                 <field name="TEXT">*******************Nachname mit JSONATA geändert*****************************</field>
                                                                               </shadow>
                                                                             </value>
                                                                             <next>
                                                                               <block type="variables_set" id="iCICj=TiW1t)mf`?du[l">
                                                                                 <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                                 <value name="VALUE">
                                                                                   <block type="convert_jsonata" id="D_!Oh~{ETp[_1v;k7tBL">
                                                                                     <value name="EXPRESSION">
                                                                                       <shadow type="text" id="IO6S?eapGp8pgqqZ]jgy">
                                                                                         <field name="TEXT">$~&gt;|Name|{"Nachname":"geänderter Nachname"}|</field>
                                                                                       </shadow>
                                                                                     </value>
                                                                                     <value name="TARGET">
                                                                                       <block type="variables_get" id="#[V:f(k2]`WH!xry~Thd">
                                                                                         <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <next>
                                                                                   <block type="debug" id="7ez/t3!Ksm/#Fwx^4K+,">
                                                                                     <field name="Severity">info</field>
                                                                                     <value name="TEXT">
                                                                                       <shadow type="text" id="Tt=/H].l0?)mXb^z1#aR">
                                                                                         <field name="TEXT">test</field>
                                                                                       </shadow>
                                                                                       <block type="variables_get" id="2Em~$t#kNiO0IvVv_zbG">
                                                                                         <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <next>
                                                                                       <block type="debug" id=")hCR3N0BhcFgdn[I:^9@">
                                                                                         <field name="Severity">info</field>
                                                                                         <value name="TEXT">
                                                                                           <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                                                             <field name="TEXT">test</field>
                                                                                           </shadow>
                                                                                           <block type="get_attr" id="tiNTn|{92(J$~MRW_f8Y">
                                                                                             <value name="PATH">
                                                                                               <shadow type="text" id="l[L;r_cZgED[(Z.zvGXu">
                                                                                                 <field name="TEXT">Name.Nachname</field>
                                                                                               </shadow>
                                                                                             </value>
                                                                                             <value name="OBJECT">
                                                                                               <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                                                                 <field name="OID">Object ID</field>
                                                                                               </shadow>
                                                                                               <block type="variables_get" id="wADRwpI4~opX4fZR#F-S">
                                                                                                 <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                         <next>
                                                                                           <block type="debug" id="`)zO#6SgG?Cc/Qd:u_3S">
                                                                                             <field name="Severity">info</field>
                                                                                             <value name="TEXT">
                                                                                               <shadow type="text" id="!{3]D=i848TY!$VnWI(u">
                                                                                                 <field name="TEXT">*******************geändertes JSON original*****************************</field>
                                                                                               </shadow>
                                                                                             </value>
                                                                                             <next>
                                                                                               <block type="debug" id="ylKTG,|U,#Kd}StRS2gi">
                                                                                                 <field name="Severity">info</field>
                                                                                                 <value name="TEXT">
                                                                                                   <shadow type="text" id="H:E#9+yvj,jDC`,Sx[j4">
                                                                                                     <field name="TEXT">test</field>
                                                                                                   </shadow>
                                                                                                   <block type="variables_get" id="^-zhPwZa/?(%stB^iD]J">
                                                                                                     <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </next>
                                                                                           </block>
                                                                                         </next>
                                                                                       </block>
                                                                                     </next>
                                                                                   </block>
                                                                                 </next>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          Wie gesagt, wahrscheinlich kann das Puzzleteil nicht mit verschachtelten Objekten arbeiten.

          Genau- wie @paul53 es sonst letztlich gemacht hat in dem er alles bis auf eine Ebene in ein Objekt gebracht hat. Also
          name2:

          { Vorname: 'Henri-2', Nachname: 'Mustermann-2' }
          

          Wie gesagt, ich würde bei JSONATA bleiben, wenn Du es beherrschst - dann sparst Du Dir viel Code.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #5

          @mickym sagte: sparst Du Dir viel Code.

          So viel Code ist es auch nicht, wenn man auf Zwischenvariablen verzichtet.

          Blockly_temp.JPG

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          mickymM 1 Antwort Letzte Antwort
          2
          • paul53P paul53

            @mickym sagte: sparst Du Dir viel Code.

            So viel Code ist es auch nicht, wenn man auf Zwischenvariablen verzichtet.

            Blockly_temp.JPG

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #6

            @paul53 OK - gebe ich Dir Recht. Allerdings kann man halt mit JSONATA auch das ganze Objekt belassen und die Stelle, die geändert werden muss genau spezifizieren:

            $~>|$[id=2].Name|{"Nachname":"geänderter Nachname"}|
            

            https://try.jsonata.org/p84fe2dLO

            8d4d6ff6-6da2-4db7-add3-8cee21ec26b3-image.png

            das finde ich (nur persönliche Meinung) schon genial.

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            paul53P 1 Antwort Letzte Antwort
            1
            • mickymM mickym

              @paul53 OK - gebe ich Dir Recht. Allerdings kann man halt mit JSONATA auch das ganze Objekt belassen und die Stelle, die geändert werden muss genau spezifizieren:

              $~>|$[id=2].Name|{"Nachname":"geänderter Nachname"}|
              

              https://try.jsonata.org/p84fe2dLO

              8d4d6ff6-6da2-4db7-add3-8cee21ec26b3-image.png

              das finde ich (nur persönliche Meinung) schon genial.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #7

              @mickym sagt: das finde ich (nur persönliche Meinung) schon genial.

              Das ist es, wenn man JSONATA beherrscht.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              rantanplanR 1 Antwort Letzte Antwort
              1
              • rantanplanR rantanplan

                Hallo zusammen.
                Ich könnte mal eine Erleuchtung gebrauchen.

                Momentan kämpfe ich mit dem JSON Format und den neuen Blockly-Bausteinen herum.
                Ziel ist es ein JSON (mit mehreren Objekten) einzulesen, Daten ändern und wieder speichern.
                Nach etlichen Versuchen und Forenbeiträgen ist mir dies teilweise gelungen.
                Bei einem, ich nenne es mal eindimensionalem JSON, funktioniert es.

                Hier mein funktionierendes Beispiel.
                Noch ein Tipp für blutige JSON-Anfänger wie mich. Ich benutze in dem Beispiel eine Zahl als „id“.
                Deshalb reicht $[id=2] zur Auswahl. Wenn man Text auswählen möchte muss man Anführungszeichen setzen z.B. $[id=“Wohnzimmer“]. UND ganz wichtig auf Groß-, Kleinschreibung achten.

                Blockly Bild:


                Blockly-1.png

                Das JSON dazu:

                [
                   {
                   	"id": 1,
                   	"Name": "Mustermann-1",
                   	"Strasse": "Musterstrasse-1"
                   },
                   {
                   	"id": 2,
                   	"Name": "Mustermann-2",
                   	"Strasse": "Musterstrasse-2"
                   },
                   {
                   	"id": 3,
                   	"Name": "Mustermann-3",
                   	"Strasse": "Musterstrasse-3"
                   },
                   {
                   	"id": 4,
                   	"Name": "Mustermann-4",
                   	"Strasse": "Musterstrasse-4"
                   }
                ]
                


                Blockly Source:

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
                   <variable id="1i*5:Ai4Ett,)dK]J`Ms">Test</variable>
                 </variables>
                 <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-662" y="-513">
                   <field name="COMMENT">JSON Original setzen</field>
                   <next>
                     <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                       <value name="VALUE">
                         <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                           <value name="VALUE">
                             <block type="text" id="0Dia]flH6dkI65v*?aV1">
                               <field name="TEXT">[&#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": "Mustermann-1", &#9;&#9;"Strasse": "Musterstrasse-1" &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": "Mustermann-2", &#9;&#9;"Strasse": "Musterstrasse-2" &#9;}, &#9;{ &#9;&#9;"id": 3, &#9;&#9;"Name": "Mustermann-3", &#9;&#9;"Strasse": "Musterstrasse-3" &#9;}, &#9;{ &#9;&#9;"id": 4, &#9;&#9;"Name": "Mustermann-4", &#9;&#9;"Strasse": "Musterstrasse-4" &#9;} ]</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="G0PT1C@-+^^N/CHY+3W(">
                           <field name="Severity">info</field>
                           <value name="TEXT">
                             <shadow type="text" id="-?ue!/szD6[5B+iZgduV">
                               <field name="TEXT">***********************Original*************************</field>
                             </shadow>
                           </value>
                           <next>
                             <block type="debug" id="sVBBMnoP3WU;i^.vpkUK">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="$n;cwoQhxB-l:^aB[;3y">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="]yqvj=AwtGWNj4ceyf1.">
                                   <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="comment" id="#]blWwhzWtX]YPsfsrl0">
                                   <field name="COMMENT">ID auswählen</field>
                                   <next>
                                     <block type="variables_set" id="!c$Jl5~[;116;39CA2Oq">
                                       <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                       <value name="VALUE">
                                         <block type="convert_jsonata" id="m/*`YBEKKh/G](?Hh!AW">
                                           <value name="EXPRESSION">
                                             <shadow type="text" id="i{Y-;:}vj7V.;rV+$qk.">
                                               <field name="TEXT">$[id=2]</field>
                                             </shadow>
                                           </value>
                                           <value name="TARGET">
                                             <block type="variables_get" id="mY=yY6v4W1Y[:*qiw!v;">
                                               <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="debug" id="w,!lv=}LxOQ4H(@yAVl0">
                                           <field name="Severity">info</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="wB:Dj2y/5)(9N6LV+TGY">
                                               <field name="TEXT">*******************gewählte id aus Test*****************************</field>
                                             </shadow>
                                           </value>
                                           <next>
                                             <block type="debug" id="Uk6X0.rUW.}Zj0kW36Z+">
                                               <field name="Severity">info</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="]k,)C,tu|!#usM{872.w">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="variables_get" id="t[J.%Q:E77|W,74a~{pQ">
                                                   <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="debug" id="(qT@FTLET6b10_JFi!~C">
                                                   <field name="Severity">info</field>
                                                   <value name="TEXT">
                                                     <shadow type="text" id="5qAyPX@`/[(=A04N_GAk">
                                                       <field name="TEXT">*****************Name aus id Test*******************************</field>
                                                     </shadow>
                                                   </value>
                                                   <next>
                                                     <block type="debug" id="n#k+N=m|7jlQ^.U`6TO.">
                                                       <field name="Severity">info</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="@Waf()*5z4tgSz=~`9;q">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="get_attr" id="JI~pU_gf*(#gv1/edYQ~">
                                                           <value name="PATH">
                                                             <shadow type="text" id="N+9`#Renf`-5*|m.e5Mb">
                                                               <field name="TEXT">Name</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="OBJECT">
                                                             <shadow type="get_object" id="he19iPE?;jvq_]^{$}D)">
                                                               <field name="OID">Object ID</field>
                                                             </shadow>
                                                             <block type="variables_get" id="`Tf|XMy3Xz4n%pvE]7D`">
                                                               <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="comment" id="[A:y1svo)[8okZ`xVd8F">
                                                           <field name="COMMENT">Name ändern</field>
                                                           <next>
                                                             <block type="object_set_attr" id="C9Jkydh,oHUv*[-N?|JU">
                                                               <field name="ATTR">Name</field>
                                                               <value name="OBJECT">
                                                                 <block type="variables_get" id="Rulq9N?,@SJ0!vE@%~@u">
                                                                   <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                                 </block>
                                                               </value>
                                                               <value name="VALUE">
                                                                 <shadow type="text" id="cPKpK$N$0(RN3$XQ^+jR">
                                                                   <field name="TEXT">##### Test ####</field>
                                                                 </shadow>
                                                               </value>
                                                               <next>
                                                                 <block type="debug" id="{3{b[R+@?$$^4-?/c10a">
                                                                   <field name="Severity">info</field>
                                                                   <value name="TEXT">
                                                                     <shadow type="text" id="o8gS(jF)q:Lu,[z:mB6,">
                                                                       <field name="TEXT">*****************geänderter Name aus id Test*******************************</field>
                                                                     </shadow>
                                                                   </value>
                                                                   <next>
                                                                     <block type="debug" id="(K-i7fej:dx3]x#lW4Uf">
                                                                       <field name="Severity">info</field>
                                                                       <value name="TEXT">
                                                                         <shadow type="text" id="@Waf()*5z4tgSz=~`9;q">
                                                                           <field name="TEXT">test</field>
                                                                         </shadow>
                                                                         <block type="get_attr" id="GCk[FrLUL^iC$GAjzB=+">
                                                                           <value name="PATH">
                                                                             <shadow type="text" id="F{ZBr#$iR*9eW{b%fDMk">
                                                                               <field name="TEXT">Name</field>
                                                                             </shadow>
                                                                           </value>
                                                                           <value name="OBJECT">
                                                                             <shadow type="get_object" id="he19iPE?;jvq_]^{$}D)">
                                                                               <field name="OID">Object ID</field>
                                                                             </shadow>
                                                                             <block type="variables_get" id="N[t4(IlB;RU`5`_/XvCK">
                                                                               <field name="VAR" id="1i*5:Ai4Ett,)dK]J`Ms">Test</field>
                                                                             </block>
                                                                           </value>
                                                                         </block>
                                                                       </value>
                                                                       <next>
                                                                         <block type="debug" id="u4CybUw/pq2L%N=4i5oE">
                                                                           <field name="Severity">info</field>
                                                                           <value name="TEXT">
                                                                             <shadow type="text" id="likT5Md`DPV,p6-!r!E(">
                                                                               <field name="TEXT">***************geändertes JSON Original*********************************</field>
                                                                             </shadow>
                                                                           </value>
                                                                           <next>
                                                                             <block type="debug" id="L=J^~Fy(P]3=(*,3mco1">
                                                                               <field name="Severity">info</field>
                                                                               <value name="TEXT">
                                                                                 <shadow type="text" id="$n;cwoQhxB-l:^aB[;3y">
                                                                                   <field name="TEXT">test</field>
                                                                                 </shadow>
                                                                                 <block type="variables_get" id="Sp=iDIlnpU{u9{ThZ4M;">
                                                                                   <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                                 </block>
                                                                               </value>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                </xml>
                

                Nun zu dem Beispiel das NICHT funktioniert.
                Wobei ich nicht weiß ob es an mir liegt oder ein Bug im „Setze Attribut“ Baustein ist.

                Blockly Bild:


                Blockly-2.png

                Das JSON dazu:

                [
                {
                   	"id": 1,
                   	"Name": {
                   		"Vorname": "Henri-1",
                   		"Nachname": "Mustermann-1"
                   	},
                   	"Anschrift": {
                   		"Strasse": "Musterstrasse-1",
                   		"Ort:": "Musterort-1"
                   	}
                   },
                   {
                   	"id": 2,
                   	"Name": {
                   		"Vorname": "Henri-2",
                   		"Nachname": "Mustermann-2"
                   	},
                   	"Anschrift": {
                   		"Strasse": "Musterstrasse-2",
                   		"Ort:": "Musterort-2"
                   	}
                   }
                ]
                

                Blockly Source:

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
                   <variable id="5^q]{Sfyr#dahNiN]R=@">Test</variable>
                 </variables>
                 <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-612" y="-462">
                   <field name="COMMENT">JSON Original setzen</field>
                   <next>
                     <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                       <value name="VALUE">
                         <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                           <value name="VALUE">
                             <block type="text" id="0Dia]flH6dkI65v*?aV1">
                               <field name="TEXT">[ &#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-1", &#9;&#9;&#9;"Nachname": "Mustermann-1" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-1", &#9;&#9;&#9;"Ort:": "Musterort-1" &#9;&#9;} &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-2", &#9;&#9;&#9;"Nachname": "Mustermann-2" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-2", &#9;&#9;&#9;"Ort:": "Musterort-2" &#9;&#9;} &#9;} ]</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="fkNpN*WtWl3Fb2%q8nEa">
                           <field name="Severity">info</field>
                           <value name="TEXT">
                             <shadow type="text" id="5V@1a4j+tNfTC^m`J8xd">
                               <field name="TEXT">*************Original***********************************</field>
                             </shadow>
                           </value>
                           <next>
                             <block type="debug" id="z1`|3d!r`x#;|_[hfk!s">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="*!}^.x?T/o7pW_u6@AJ.">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="T%?wOC@q?lZP(;^3T2]i">
                                   <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="comment" id="#]blWwhzWtX]YPsfsrl0">
                                   <field name="COMMENT">ID auswählen</field>
                                   <next>
                                     <block type="variables_set" id="6Ac9kNIPsPtgZ8rup7!T">
                                       <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                       <value name="VALUE">
                                         <block type="convert_jsonata" id="fpXEZ=|fVK4[tNsaaO03">
                                           <value name="EXPRESSION">
                                             <shadow type="text" id="]D!S,2:xm^Q?r{A}9Bd=">
                                               <field name="TEXT">$[id=2]</field>
                                             </shadow>
                                           </value>
                                           <value name="TARGET">
                                             <block type="variables_get" id="+fIp5lfA+nfc^mLzl4G$">
                                               <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="debug" id="5+/GJ(P-|CMB#B1Z)mXq">
                                           <field name="Severity">info</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="YeyR.v8_|O3DLwmd6]=F">
                                               <field name="TEXT">*************gewählte id aus Test***********************************</field>
                                             </shadow>
                                           </value>
                                           <next>
                                             <block type="debug" id="sVBBMnoP3WU;i^.vpkUK">
                                               <field name="Severity">info</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="jjF5++FKq9oUup##S3;i">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="variables_get" id="]yqvj=AwtGWNj4ceyf1.">
                                                   <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="debug" id="*,IKqGYVj_KvEF=+-S(@">
                                                   <field name="Severity">info</field>
                                                   <value name="TEXT">
                                                     <shadow type="text" id="RC`arNyLE9ok[SDiDSEE">
                                                       <field name="TEXT">*****************Nachname aus id Test****************************</field>
                                                     </shadow>
                                                   </value>
                                                   <next>
                                                     <block type="debug" id="L|BS,Me79{YBXCMc8iBi">
                                                       <field name="Severity">info</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="get_attr" id="PrG6I%X6-N_$`STD$M~q">
                                                           <value name="PATH">
                                                             <shadow type="text" id="P$+/{k4Nn*[nsEg)HwCs">
                                                               <field name="TEXT">Name.Nachname</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="OBJECT">
                                                             <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                               <field name="OID">Object ID</field>
                                                             </shadow>
                                                             <block type="variables_get" id="*rkDqOkD5O(59;2=v6-M">
                                                               <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="comment" id="pEFVc^J49;#t.tbk[#4:">
                                                           <field name="COMMENT">Nachname ändern</field>
                                                           <next>
                                                             <block type="object_set_attr" id=",dByN[roU:;u[3Qp`q5%">
                                                               <field name="ATTR">Name.Nachname</field>
                                                               <value name="OBJECT">
                                                                 <block type="variables_get" id="O%@zYESZw|{U[MBJiTOD">
                                                                   <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                 </block>
                                                               </value>
                                                               <value name="VALUE">
                                                                 <shadow type="text" id=":z2N;vi4f!oi340_l!A8">
                                                                   <field name="TEXT">##### Test ####</field>
                                                                 </shadow>
                                                               </value>
                                                               <next>
                                                                 <block type="debug" id="Z:{CHk3GRUVm_h*{ZkaP">
                                                                   <field name="Severity">info</field>
                                                                   <value name="TEXT">
                                                                     <shadow type="text" id="x7F#YLHp8Tk{b5[R5lH:">
                                                                       <field name="TEXT">*******************Nachname wurde nicht geändert*****************************</field>
                                                                     </shadow>
                                                                   </value>
                                                                   <next>
                                                                     <block type="debug" id="s}]*DdIh]J+R=JDfLe~Q">
                                                                       <field name="Severity">info</field>
                                                                       <value name="TEXT">
                                                                         <shadow type="text" id="jumUJ[i3TJAMVfVR+ATz">
                                                                           <field name="TEXT">test</field>
                                                                         </shadow>
                                                                         <block type="get_attr" id="gTS*`0}7VQX+H[DJOMo$">
                                                                           <value name="PATH">
                                                                             <shadow type="text" id="`PV(~xtZXNCH?]jjXY4c">
                                                                               <field name="TEXT">Name.Nachname</field>
                                                                             </shadow>
                                                                           </value>
                                                                           <value name="OBJECT">
                                                                             <shadow type="get_object" id="lox}0weulq;I(P1ms1*u">
                                                                               <field name="OID">Object ID</field>
                                                                             </shadow>
                                                                             <block type="variables_get" id="Pz0TBSL@g3n%SZ@}LfCA">
                                                                               <field name="VAR" id="5^q]{Sfyr#dahNiN]R=@">Test</field>
                                                                             </block>
                                                                           </value>
                                                                         </block>
                                                                       </value>
                                                                       <next>
                                                                         <block type="debug" id="`)zO#6SgG?Cc/Qd:u_3S">
                                                                           <field name="Severity">info</field>
                                                                           <value name="TEXT">
                                                                             <shadow type="text" id="!{3]D=i848TY!$VnWI(u">
                                                                               <field name="TEXT">*******************geändertes JSON original*****************************</field>
                                                                             </shadow>
                                                                           </value>
                                                                           <next>
                                                                             <block type="debug" id="ylKTG,|U,#Kd}StRS2gi">
                                                                               <field name="Severity">info</field>
                                                                               <value name="TEXT">
                                                                                 <shadow type="text" id="H:E#9+yvj,jDC`,Sx[j4">
                                                                                   <field name="TEXT">test</field>
                                                                                 </shadow>
                                                                                 <block type="variables_get" id="^-zhPwZa/?(%stB^iD]J">
                                                                                   <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                                 </block>
                                                                               </value>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                </xml>
                


                Das geänderte JSON sieht dann so aus.

                [
                 {
                   id: 1,
                   Name: { Vorname: 'Henri-1', Nachname: 'Mustermann-1' },
                   Anschrift: { Strasse: 'Musterstrasse-1', 'Ort:': 'Musterort-1' }
                 },
                 {
                   id: 2,
                   Name: { Vorname: 'Henri-2', Nachname: 'Mustermann-2' },
                   Anschrift: { Strasse: 'Musterstrasse-2', 'Ort:': 'Musterort-2' },
                   'Name.Nachname': '##### Test ####'
                 }
                ]
                


                Anstatt den Nachnamen zu ändern wird die Änderung komplett, mit Attribut, an id 2 angehängt.

                Mache ich etwas falsch oder ist es ein Bug.

                Bin für jeden Tipp dankbar!

                Grüße

                rantanplanR Offline
                rantanplanR Offline
                rantanplan
                schrieb am zuletzt editiert von
                #8

                @mickym
                @paul53
                Man Ihr seit ja mal wieder flott. Danke!!!
                Das muss ich erstmal sacken lassen und versuchen zu verstehen.

                Melde mich dann.

                Grüße

                Rantanplan

                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                mickymM 1 Antwort Letzte Antwort
                0
                • rantanplanR rantanplan

                  @mickym
                  @paul53
                  Man Ihr seit ja mal wieder flott. Danke!!!
                  Das muss ich erstmal sacken lassen und versuchen zu verstehen.

                  Melde mich dann.

                  Grüße

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #9

                  @rantanplan Nur der Vollständigkeit halber noch im Blockly mit JSONATA und Änderung des Nachnames der Person mit id=2 unter Beibehaltung des Gesamtobjektes (also Update):

                  63167273-7df4-4481-ade4-db3611daf00d-image.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
                    </variables>
                    <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="-612" y="-462">
                      <field name="COMMENT">JSON Original setzen</field>
                      <next>
                        <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
                          <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                          <value name="VALUE">
                            <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                              <value name="VALUE">
                                <block type="text" id="0Dia]flH6dkI65v*?aV1">
                                  <field name="TEXT">[ &#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-1", &#9;&#9;&#9;"Nachname": "Mustermann-1" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-1", &#9;&#9;&#9;"Ort:": "Musterort-1" &#9;&#9;} &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-2", &#9;&#9;&#9;"Nachname": "Mustermann-2" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-2", &#9;&#9;&#9;"Ort:": "Musterort-2" &#9;&#9;} &#9;} ]</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="debug" id="fkNpN*WtWl3Fb2%q8nEa">
                              <field name="Severity">info</field>
                              <value name="TEXT">
                                <shadow type="text" id="5V@1a4j+tNfTC^m`J8xd">
                                  <field name="TEXT">*************Original***********************************</field>
                                </shadow>
                              </value>
                              <next>
                                <block type="debug" id="z1`|3d!r`x#;|_[hfk!s">
                                  <field name="Severity">info</field>
                                  <value name="TEXT">
                                    <shadow type="text" id="*!}^.x?T/o7pW_u6@AJ.">
                                      <field name="TEXT">test</field>
                                    </shadow>
                                    <block type="variables_get" id="T%?wOC@q?lZP(;^3T2]i">
                                      <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="comment" id=":*btLRvc{8pB{#1%hjeE">
                                      <field name="COMMENT">Nachname  der ID2 mit JSONATA ändern</field>
                                      <next>
                                        <block type="debug" id="`)zO#6SgG?Cc/Qd:u_3S">
                                          <field name="Severity">info</field>
                                          <value name="TEXT">
                                            <shadow type="text" id="!{3]D=i848TY!$VnWI(u">
                                              <field name="TEXT">*******************geändertes JSON original*****************************</field>
                                            </shadow>
                                          </value>
                                          <next>
                                            <block type="debug" id="ylKTG,|U,#Kd}StRS2gi">
                                              <field name="Severity">info</field>
                                              <value name="TEXT">
                                                <shadow type="text" id="H:E#9+yvj,jDC`,Sx[j4">
                                                  <field name="TEXT">test</field>
                                                </shadow>
                                                <block type="convert_jsonata" id="|m;@~qNAOjfn%MZ$G{qU">
                                                  <value name="EXPRESSION">
                                                    <shadow type="text" id="kR0Xg*|rHCzD{1`:$Dr~">
                                                      <field name="TEXT">$~&gt;|$[id=2].Name|{"Nachname":"geänderter Nachname"}|</field>
                                                    </shadow>
                                                  </value>
                                                  <value name="TARGET">
                                                    <block type="variables_get" id="^-zhPwZa/?(%stB^iD]J">
                                                      <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </xml>
                  

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  1
                  • paul53P paul53

                    @mickym sagt: das finde ich (nur persönliche Meinung) schon genial.

                    Das ist es, wenn man JSONATA beherrscht.

                    rantanplanR Offline
                    rantanplanR Offline
                    rantanplan
                    schrieb am zuletzt editiert von
                    #10

                    @paul53 sagte in Blockly JSON Eintrag ändern:

                    @mickym sagt: das finde ich (nur persönliche Meinung) schon genial.

                    Das ist es, wenn man JSONATA beherrscht.

                    Nochmals herzlichen Dank an @paul53 und @mickym
                    Ihr habt beide recht und beide Lösungen funktionieren.

                    Der Nachteil bei dem "setze Attribut"-Baustein ist, dass er nicht flexibel ist.
                    Für jeden zu ändernden Wert müsste ein Baustein erstellt werden.

                    Da ist die Lösung über JSONata besser.
                    Mal sehen wie ich mit der JSONata-Syntax zurecht komme wenn das JSON anders aussieht :grimacing:

                    Ich habe mal mein Beispiel an JSONata angepasst und eine flexible Syntax angefügt.
                    Blockly Bild:


                    Blockly-3.png

                    Blockly Source:

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id="99K0cvb{Gks.j|c[IiQ;">index</variable>
                       <variable id="$IaE?o__ePF.56a.Y?X|">key1</variable>
                       <variable id="YjlvQ/k*Z8OUbOk.#l{T">key2</variable>
                       <variable id="B9=_U-U9P.uOBg#U4_$H">value</variable>
                       <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
                       <variable id="Yph%-CD-C`M=KS6Ios_m">Syntax</variable>
                     </variables>
                     <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="13" y="13">
                       <field name="COMMENT">JSON Original setzen</field>
                       <next>
                         <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
                           <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                           <value name="VALUE">
                             <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                               <value name="VALUE">
                                 <block type="text" id="0Dia]flH6dkI65v*?aV1">
                                   <field name="TEXT">[ &#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-1", &#9;&#9;&#9;"Nachname": "Mustermann-1" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-1", &#9;&#9;&#9;"Ort:": "Musterort-1" &#9;&#9;} &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-2", &#9;&#9;&#9;"Nachname": "Mustermann-2" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-2", &#9;&#9;&#9;"Ort:": "Musterort-2" &#9;&#9;} &#9;} ]</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="fkNpN*WtWl3Fb2%q8nEa">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="5V@1a4j+tNfTC^m`J8xd">
                                   <field name="TEXT">*************Original***********************************</field>
                                 </shadow>
                               </value>
                               <next>
                                 <block type="debug" id="z1`|3d!r`x#;|_[hfk!s">
                                   <field name="Severity">info</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="*!}^.x?T/o7pW_u6@AJ.">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="variables_get" id="T%?wOC@q?lZP(;^3T2]i">
                                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="comment" id=":*btLRvc{8pB{#1%hjeE">
                                       <field name="COMMENT">Nachname mit JSONATA ändern</field>
                                       <next>
                                         <block type="procedures_callnoreturn" id="W?h6GQb8y8t|U`S_ZpsD" inline="true">
                                           <mutation name="changeJSON">
                                             <arg name="index"></arg>
                                             <arg name="key1"></arg>
                                             <arg name="key2"></arg>
                                             <arg name="value"></arg>
                                           </mutation>
                                           <value name="ARG0">
                                             <block type="text" id="Si)J7.l}1V#mRr!]BA#o">
                                               <field name="TEXT">2</field>
                                             </block>
                                           </value>
                                           <value name="ARG1">
                                             <block type="text" id="U7LW{`!EayJ=qkuqdsr3">
                                               <field name="TEXT">Name</field>
                                             </block>
                                           </value>
                                           <value name="ARG2">
                                             <block type="text" id="v}AzshZ.FGGUjUO~i}GT">
                                               <field name="TEXT">"Nachname"</field>
                                             </block>
                                           </value>
                                           <value name="ARG3">
                                             <block type="text" id="Z~,9aJa(A2+RWxwxW@z,">
                                               <field name="TEXT">"###Test###"</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="debug" id="`)zO#6SgG?Cc/Qd:u_3S">
                                               <field name="Severity">info</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="!{3]D=i848TY!$VnWI(u">
                                                   <field name="TEXT">*******************geändertes JSON original*****************************</field>
                                                 </shadow>
                                               </value>
                                               <next>
                                                 <block type="debug" id="ylKTG,|U,#Kd}StRS2gi">
                                                   <field name="Severity">info</field>
                                                   <value name="TEXT">
                                                     <shadow type="text" id="H:E#9+yvj,jDC`,Sx[j4">
                                                       <field name="TEXT">test</field>
                                                     </shadow>
                                                     <block type="variables_get" id="^-zhPwZa/?(%stB^iD]J">
                                                       <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                     <block type="procedures_defnoreturn" id="dC4pE/_O~yhMR!#AU/h8" x="13" y="363">
                       <mutation>
                         <arg name="index" varid="99K0cvb{Gks.j|c[IiQ;"></arg>
                         <arg name="key1" varid="$IaE?o__ePF.56a.Y?X|"></arg>
                         <arg name="key2" varid="YjlvQ/k*Z8OUbOk.#l{T"></arg>
                         <arg name="value" varid="B9=_U-U9P.uOBg#U4_$H"></arg>
                       </mutation>
                       <field name="NAME">changeJSON</field>
                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                       <statement name="STACK">
                         <block type="comment" id="B$)+$S4|)j#H~Gv?x:Wn">
                           <field name="COMMENT">Beispiel</field>
                           <next>
                             <block type="comment" id="%o~P+rl.w-#8?T=kPP^X">
                               <field name="COMMENT">$~&gt;|$[id=2].Name|{"Nachname":"######Test#####"}|</field>
                               <next>
                                 <block type="variables_set" id="MbjAB,naua4}]T/T@A)(">
                                   <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                   <value name="VALUE">
                                     <block type="text" id="llhG.fSWB-*)SQ9~,%f4">
                                       <field name="TEXT">$~&gt;|$[id=#111].#222|{#333:#444}|</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="variables_set" id="V#k_?MR)*9.4)kkg])?9">
                                       <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                       <value name="VALUE">
                                         <block type="text_replace" id="Qu]P?%eG=mSkarMmzsp/">
                                           <value name="FROM">
                                             <shadow type="text" id="YS]$dgM(,hd)|i-)(B,T">
                                               <field name="TEXT">#111</field>
                                             </shadow>
                                           </value>
                                           <value name="TO">
                                             <shadow type="text" id="Q+p-ku?)8(T:}e$Fb(5.">
                                               <field name="TEXT">index</field>
                                             </shadow>
                                             <block type="variables_get" id="Hl_d!^-2$)2UD%B@%VuT">
                                               <field name="VAR" id="99K0cvb{Gks.j|c[IiQ;">index</field>
                                             </block>
                                           </value>
                                           <value name="TEXT">
                                             <shadow type="text" id=":ABh_%^sq%u|(W.b_==t">
                                               <field name="TEXT">text</field>
                                             </shadow>
                                             <block type="variables_get" id="[QyBD;s}:2QEyj/aUs#V">
                                               <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="variables_set" id="gs4HvnEd0+kH3!-riqzB">
                                           <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                           <value name="VALUE">
                                             <block type="text_replace" id=";#;V{Cblz9N,BO7;wcUx">
                                               <value name="FROM">
                                                 <shadow type="text" id="6A4I%gH7]H^g9VgmZ$J[">
                                                   <field name="TEXT">#222</field>
                                                 </shadow>
                                               </value>
                                               <value name="TO">
                                                 <shadow type="text" id="Q+p-ku?)8(T:}e$Fb(5.">
                                                   <field name="TEXT">index</field>
                                                 </shadow>
                                                 <block type="variables_get" id="_5BM;#EPz,{9Hd%`Dd$_">
                                                   <field name="VAR" id="$IaE?o__ePF.56a.Y?X|">key1</field>
                                                 </block>
                                               </value>
                                               <value name="TEXT">
                                                 <shadow type="text" id=":ABh_%^sq%u|(W.b_==t">
                                                   <field name="TEXT">text</field>
                                                 </shadow>
                                                 <block type="variables_get" id="PeW_W~]uFPq]hz;cb^~-">
                                                   <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="uQ4s=U/7g`k4:52#/l=|">
                                               <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                               <value name="VALUE">
                                                 <block type="text_replace" id=",50,M^d~7K/6E/|pcmP!">
                                                   <value name="FROM">
                                                     <shadow type="text" id="r{X[!2cd[qJ=%,2lp}1A">
                                                       <field name="TEXT">#333</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="TO">
                                                     <shadow type="text" id="Q+p-ku?)8(T:}e$Fb(5.">
                                                       <field name="TEXT">index</field>
                                                     </shadow>
                                                     <block type="variables_get" id="V])}+h=Hnzz,}%AjgV?j">
                                                       <field name="VAR" id="YjlvQ/k*Z8OUbOk.#l{T">key2</field>
                                                     </block>
                                                   </value>
                                                   <value name="TEXT">
                                                     <shadow type="text" id=":ABh_%^sq%u|(W.b_==t">
                                                       <field name="TEXT">text</field>
                                                     </shadow>
                                                     <block type="variables_get" id="|UW`s=~i1YtPKFxaEI,j">
                                                       <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="2Gz;2i4Rvs~*-*(;OGYr">
                                                   <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                   <value name="VALUE">
                                                     <block type="text_replace" id=":~[AmO.6vxdzgTl[u![?">
                                                       <value name="FROM">
                                                         <shadow type="text" id="k0%w+h)t],gRR1VM0Cr]">
                                                           <field name="TEXT">#444</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="TO">
                                                         <shadow type="text" id="Q+p-ku?)8(T:}e$Fb(5.">
                                                           <field name="TEXT">index</field>
                                                         </shadow>
                                                         <block type="variables_get" id="YUs.rGU[mo+,(,pVN+V1">
                                                           <field name="VAR" id="B9=_U-U9P.uOBg#U4_$H">value</field>
                                                         </block>
                                                       </value>
                                                       <value name="TEXT">
                                                         <shadow type="text" id=":ABh_%^sq%u|(W.b_==t">
                                                           <field name="TEXT">text</field>
                                                         </shadow>
                                                         <block type="variables_get" id="OdcgnLpGc2%^aT4P:!26">
                                                           <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="debug" id="^e98)DJx9J79=iRtv%M8">
                                                       <field name="Severity">info</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="k~$WFVVT*Pw;dZFmNc-p">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="text_join" id="L..s?k(k3wJ8`S#Vw6fx">
                                                           <mutation items="2"></mutation>
                                                           <value name="ADD0">
                                                             <block type="text" id="4e;uz`*(/evfVW6GLJlc">
                                                               <field name="TEXT">JSONata Ausdruck: </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="variables_get" id="lLqD$M%b+vd;{`}+]vxg">
                                                               <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="variables_set" id="~f}lq-k+F|:R:,MB-;wp">
                                                           <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                           <value name="VALUE">
                                                             <block type="convert_jsonata" id="37iY9o7S08(prp)OPLYw">
                                                               <value name="EXPRESSION">
                                                                 <shadow type="text" id="sfpB]{]]9i@u/D;NO.o@">
                                                                   <field name="TEXT"></field>
                                                                 </shadow>
                                                                 <block type="variables_get" id=":lN+:a}}4~!6S;c#Y=8B">
                                                                   <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                                 </block>
                                                               </value>
                                                               <value name="TARGET">
                                                                 <block type="variables_get" id="oPpxzCc[q2yEy*-Uey7x">
                                                                   <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

                    Damit werde ich mal weitere Versuche anstellen.

                    Nochmal vielen Dank!

                    Grüße

                    Rantanplan

                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • rantanplanR rantanplan

                      @paul53 sagte in Blockly JSON Eintrag ändern:

                      @mickym sagt: das finde ich (nur persönliche Meinung) schon genial.

                      Das ist es, wenn man JSONATA beherrscht.

                      Nochmals herzlichen Dank an @paul53 und @mickym
                      Ihr habt beide recht und beide Lösungen funktionieren.

                      Der Nachteil bei dem "setze Attribut"-Baustein ist, dass er nicht flexibel ist.
                      Für jeden zu ändernden Wert müsste ein Baustein erstellt werden.

                      Da ist die Lösung über JSONata besser.
                      Mal sehen wie ich mit der JSONata-Syntax zurecht komme wenn das JSON anders aussieht :grimacing:

                      Ich habe mal mein Beispiel an JSONata angepasst und eine flexible Syntax angefügt.
                      Blockly Bild:


                      Blockly-3.png

                      Blockly Source:

                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <variables>
                         <variable id="99K0cvb{Gks.j|c[IiQ;">index</variable>
                         <variable id="$IaE?o__ePF.56a.Y?X|">key1</variable>
                         <variable id="YjlvQ/k*Z8OUbOk.#l{T">key2</variable>
                         <variable id="B9=_U-U9P.uOBg#U4_$H">value</variable>
                         <variable id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</variable>
                         <variable id="Yph%-CD-C`M=KS6Ios_m">Syntax</variable>
                       </variables>
                       <block type="comment" id="EZvg/*|7xh=vW53L/Gy$" x="13" y="13">
                         <field name="COMMENT">JSON Original setzen</field>
                         <next>
                           <block type="variables_set" id="[cVDQy=1v{H-!^H/{!DG">
                             <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                             <value name="VALUE">
                               <block type="convert_json2object" id="!?x#HIB~ZuFM#W`#]z3C">
                                 <value name="VALUE">
                                   <block type="text" id="0Dia]flH6dkI65v*?aV1">
                                     <field name="TEXT">[ &#9;{ &#9;&#9;"id": 1, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-1", &#9;&#9;&#9;"Nachname": "Mustermann-1" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-1", &#9;&#9;&#9;"Ort:": "Musterort-1" &#9;&#9;} &#9;}, &#9;{ &#9;&#9;"id": 2, &#9;&#9;"Name": { &#9;&#9;&#9;"Vorname": "Henri-2", &#9;&#9;&#9;"Nachname": "Mustermann-2" &#9;&#9;}, &#9;&#9;"Anschrift": { &#9;&#9;&#9;"Strasse": "Musterstrasse-2", &#9;&#9;&#9;"Ort:": "Musterort-2" &#9;&#9;} &#9;} ]</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="fkNpN*WtWl3Fb2%q8nEa">
                                 <field name="Severity">info</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="5V@1a4j+tNfTC^m`J8xd">
                                     <field name="TEXT">*************Original***********************************</field>
                                   </shadow>
                                 </value>
                                 <next>
                                   <block type="debug" id="z1`|3d!r`x#;|_[hfk!s">
                                     <field name="Severity">info</field>
                                     <value name="TEXT">
                                       <shadow type="text" id="*!}^.x?T/o7pW_u6@AJ.">
                                         <field name="TEXT">test</field>
                                       </shadow>
                                       <block type="variables_get" id="T%?wOC@q?lZP(;^3T2]i">
                                         <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="comment" id=":*btLRvc{8pB{#1%hjeE">
                                         <field name="COMMENT">Nachname mit JSONATA ändern</field>
                                         <next>
                                           <block type="procedures_callnoreturn" id="W?h6GQb8y8t|U`S_ZpsD" inline="true">
                                             <mutation name="changeJSON">
                                               <arg name="index"></arg>
                                               <arg name="key1"></arg>
                                               <arg name="key2"></arg>
                                               <arg name="value"></arg>
                                             </mutation>
                                             <value name="ARG0">
                                               <block type="text" id="Si)J7.l}1V#mRr!]BA#o">
                                                 <field name="TEXT">2</field>
                                               </block>
                                             </value>
                                             <value name="ARG1">
                                               <block type="text" id="U7LW{`!EayJ=qkuqdsr3">
                                                 <field name="TEXT">Name</field>
                                               </block>
                                             </value>
                                             <value name="ARG2">
                                               <block type="text" id="v}AzshZ.FGGUjUO~i}GT">
                                                 <field name="TEXT">"Nachname"</field>
                                               </block>
                                             </value>
                                             <value name="ARG3">
                                               <block type="text" id="Z~,9aJa(A2+RWxwxW@z,">
                                                 <field name="TEXT">"###Test###"</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="debug" id="`)zO#6SgG?Cc/Qd:u_3S">
                                                 <field name="Severity">info</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="!{3]D=i848TY!$VnWI(u">
                                                     <field name="TEXT">*******************geändertes JSON original*****************************</field>
                                                   </shadow>
                                                 </value>
                                                 <next>
                                                   <block type="debug" id="ylKTG,|U,#Kd}StRS2gi">
                                                     <field name="Severity">info</field>
                                                     <value name="TEXT">
                                                       <shadow type="text" id="H:E#9+yvj,jDC`,Sx[j4">
                                                         <field name="TEXT">test</field>
                                                       </shadow>
                                                       <block type="variables_get" id="^-zhPwZa/?(%stB^iD]J">
                                                         <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                       <block type="procedures_defnoreturn" id="dC4pE/_O~yhMR!#AU/h8" x="13" y="363">
                         <mutation>
                           <arg name="index" varid="99K0cvb{Gks.j|c[IiQ;"></arg>
                           <arg name="key1" varid="$IaE?o__ePF.56a.Y?X|"></arg>
                           <arg name="key2" varid="YjlvQ/k*Z8OUbOk.#l{T"></arg>
                           <arg name="value" varid="B9=_U-U9P.uOBg#U4_$H"></arg>
                         </mutation>
                         <field name="NAME">changeJSON</field>
                         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                         <statement name="STACK">
                           <block type="comment" id="B$)+$S4|)j#H~Gv?x:Wn">
                             <field name="COMMENT">Beispiel</field>
                             <next>
                               <block type="comment" id="%o~P+rl.w-#8?T=kPP^X">
                                 <field name="COMMENT">$~&gt;|$[id=2].Name|{"Nachname":"######Test#####"}|</field>
                                 <next>
                                   <block type="variables_set" id="MbjAB,naua4}]T/T@A)(">
                                     <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                     <value name="VALUE">
                                       <block type="text" id="llhG.fSWB-*)SQ9~,%f4">
                                         <field name="TEXT">$~&gt;|$[id=#111].#222|{#333:#444}|</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="variables_set" id="V#k_?MR)*9.4)kkg])?9">
                                         <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                         <value name="VALUE">
                                           <block type="text_replace" id="Qu]P?%eG=mSkarMmzsp/">
                                             <value name="FROM">
                                               <shadow type="text" id="YS]$dgM(,hd)|i-)(B,T">
                                                 <field name="TEXT">#111</field>
                                               </shadow>
                                             </value>
                                             <value name="TO">
                                               <shadow type="text" id="Q+p-ku?)8(T:}e$Fb(5.">
                                                 <field name="TEXT">index</field>
                                               </shadow>
                                               <block type="variables_get" id="Hl_d!^-2$)2UD%B@%VuT">
                                                 <field name="VAR" id="99K0cvb{Gks.j|c[IiQ;">index</field>
                                               </block>
                                             </value>
                                             <value name="TEXT">
                                               <shadow type="text" id=":ABh_%^sq%u|(W.b_==t">
                                                 <field name="TEXT">text</field>
                                               </shadow>
                                               <block type="variables_get" id="[QyBD;s}:2QEyj/aUs#V">
                                                 <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="gs4HvnEd0+kH3!-riqzB">
                                             <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                             <value name="VALUE">
                                               <block type="text_replace" id=";#;V{Cblz9N,BO7;wcUx">
                                                 <value name="FROM">
                                                   <shadow type="text" id="6A4I%gH7]H^g9VgmZ$J[">
                                                     <field name="TEXT">#222</field>
                                                   </shadow>
                                                 </value>
                                                 <value name="TO">
                                                   <shadow type="text" id="Q+p-ku?)8(T:}e$Fb(5.">
                                                     <field name="TEXT">index</field>
                                                   </shadow>
                                                   <block type="variables_get" id="_5BM;#EPz,{9Hd%`Dd$_">
                                                     <field name="VAR" id="$IaE?o__ePF.56a.Y?X|">key1</field>
                                                   </block>
                                                 </value>
                                                 <value name="TEXT">
                                                   <shadow type="text" id=":ABh_%^sq%u|(W.b_==t">
                                                     <field name="TEXT">text</field>
                                                   </shadow>
                                                   <block type="variables_get" id="PeW_W~]uFPq]hz;cb^~-">
                                                     <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="uQ4s=U/7g`k4:52#/l=|">
                                                 <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                 <value name="VALUE">
                                                   <block type="text_replace" id=",50,M^d~7K/6E/|pcmP!">
                                                     <value name="FROM">
                                                       <shadow type="text" id="r{X[!2cd[qJ=%,2lp}1A">
                                                         <field name="TEXT">#333</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="TO">
                                                       <shadow type="text" id="Q+p-ku?)8(T:}e$Fb(5.">
                                                         <field name="TEXT">index</field>
                                                       </shadow>
                                                       <block type="variables_get" id="V])}+h=Hnzz,}%AjgV?j">
                                                         <field name="VAR" id="YjlvQ/k*Z8OUbOk.#l{T">key2</field>
                                                       </block>
                                                     </value>
                                                     <value name="TEXT">
                                                       <shadow type="text" id=":ABh_%^sq%u|(W.b_==t">
                                                         <field name="TEXT">text</field>
                                                       </shadow>
                                                       <block type="variables_get" id="|UW`s=~i1YtPKFxaEI,j">
                                                         <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="2Gz;2i4Rvs~*-*(;OGYr">
                                                     <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                     <value name="VALUE">
                                                       <block type="text_replace" id=":~[AmO.6vxdzgTl[u![?">
                                                         <value name="FROM">
                                                           <shadow type="text" id="k0%w+h)t],gRR1VM0Cr]">
                                                             <field name="TEXT">#444</field>
                                                           </shadow>
                                                         </value>
                                                         <value name="TO">
                                                           <shadow type="text" id="Q+p-ku?)8(T:}e$Fb(5.">
                                                             <field name="TEXT">index</field>
                                                           </shadow>
                                                           <block type="variables_get" id="YUs.rGU[mo+,(,pVN+V1">
                                                             <field name="VAR" id="B9=_U-U9P.uOBg#U4_$H">value</field>
                                                           </block>
                                                         </value>
                                                         <value name="TEXT">
                                                           <shadow type="text" id=":ABh_%^sq%u|(W.b_==t">
                                                             <field name="TEXT">text</field>
                                                           </shadow>
                                                           <block type="variables_get" id="OdcgnLpGc2%^aT4P:!26">
                                                             <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="debug" id="^e98)DJx9J79=iRtv%M8">
                                                         <field name="Severity">info</field>
                                                         <value name="TEXT">
                                                           <shadow type="text" id="k~$WFVVT*Pw;dZFmNc-p">
                                                             <field name="TEXT">test</field>
                                                           </shadow>
                                                           <block type="text_join" id="L..s?k(k3wJ8`S#Vw6fx">
                                                             <mutation items="2"></mutation>
                                                             <value name="ADD0">
                                                               <block type="text" id="4e;uz`*(/evfVW6GLJlc">
                                                                 <field name="TEXT">JSONata Ausdruck: </field>
                                                               </block>
                                                             </value>
                                                             <value name="ADD1">
                                                               <block type="variables_get" id="lLqD$M%b+vd;{`}+]vxg">
                                                                 <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="~f}lq-k+F|:R:,MB-;wp">
                                                             <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                             <value name="VALUE">
                                                               <block type="convert_jsonata" id="37iY9o7S08(prp)OPLYw">
                                                                 <value name="EXPRESSION">
                                                                   <shadow type="text" id="sfpB]{]]9i@u/D;NO.o@">
                                                                     <field name="TEXT"></field>
                                                                   </shadow>
                                                                   <block type="variables_get" id=":lN+:a}}4~!6S;c#Y=8B">
                                                                     <field name="VAR" id="Yph%-CD-C`M=KS6Ios_m">Syntax</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="TARGET">
                                                                   <block type="variables_get" id="oPpxzCc[q2yEy*-Uey7x">
                                                                     <field name="VAR" id="0^qiE+P)i1~f?PZ(;N}a">JSONObjekt</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                      </xml>
                      

                      Damit werde ich mal weitere Versuche anstellen.

                      Nochmal vielen Dank!

                      Grüße

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #11

                      @rantanplan Na ja ich finde die JSONATA Syntax schon flexibel genug - ausserdem will man ja manchmal was anderes haben. Ich würde lieber mit dem JSONATA Exerciser üben und dann kannst Du diese Ausdrücke sofort hinschreiben und musst nicht erst eine Funktion aufrufen.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      rantanplanR 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @rantanplan Na ja ich finde die JSONATA Syntax schon flexibel genug - ausserdem will man ja manchmal was anderes haben. Ich würde lieber mit dem JSONATA Exerciser üben und dann kannst Du diese Ausdrücke sofort hinschreiben und musst nicht erst eine Funktion aufrufen.

                        rantanplanR Offline
                        rantanplanR Offline
                        rantanplan
                        schrieb am zuletzt editiert von
                        #12

                        @mickym sagte in [gelöst] Blockly JSON Eintrag ändern:

                        @rantanplan Na ja ich finde die JSONATA Syntax schon flexibel genug - ausserdem will man ja manchmal was anderes haben.

                        Ja, deshalb eine flexible Abfrage.

                        Ich würde lieber mit dem JSONATA Exerciser üben

                        Das werde ich bestimmt tun. :grinning:

                        und dann kannst Du diese Ausdrücke sofort hinschreiben und musst nicht erst eine Funktion aufrufen.

                        Aber dann hätte ich ja wieder eine starre Abfrage.

                        Erst einmal wollte ich die Möglichkeiten von JSON abklopfen und verstehen.
                        Jetzt überlege ich mir welche meiner Blocklys ich eventuell anpassen könnte.

                        Eventuell probiere ich es bei meiner Heizungssteuerung.
                        Und da für jeden Raum, Zeiten, Temperaturen usw. feste Ausdrücke zu verwenden finde schier unmöglich.
                        Oder sehe ich da was falsch?

                        Grüße

                        Rantanplan

                        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • rantanplanR rantanplan

                          @mickym sagte in [gelöst] Blockly JSON Eintrag ändern:

                          @rantanplan Na ja ich finde die JSONATA Syntax schon flexibel genug - ausserdem will man ja manchmal was anderes haben.

                          Ja, deshalb eine flexible Abfrage.

                          Ich würde lieber mit dem JSONATA Exerciser üben

                          Das werde ich bestimmt tun. :grinning:

                          und dann kannst Du diese Ausdrücke sofort hinschreiben und musst nicht erst eine Funktion aufrufen.

                          Aber dann hätte ich ja wieder eine starre Abfrage.

                          Erst einmal wollte ich die Möglichkeiten von JSON abklopfen und verstehen.
                          Jetzt überlege ich mir welche meiner Blocklys ich eventuell anpassen könnte.

                          Eventuell probiere ich es bei meiner Heizungssteuerung.
                          Und da für jeden Raum, Zeiten, Temperaturen usw. feste Ausdrücke zu verwenden finde schier unmöglich.
                          Oder sehe ich da was falsch?

                          Grüße

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von mickym
                          #13

                          @rantanplan sagte in [gelöst] Blockly JSON Eintrag ändern:

                          Eventuell probiere ich es bei meiner Heizungssteuerung.
                          Und da für jeden Raum, Zeiten, Temperaturen usw. feste Ausdrücke zu verwenden finde schier unmöglich.
                          Oder sehe ich da was falsch?

                          Na in meinen Augen siehst Du das falsch. Anstelle eine Funktion aufzurufen, kannst du doch den JSONATA Eintrag direkt erstellen. Du kannst den ja auch insgesamt als einen String abspeichern.
                          Ich seh hinter diesem Funktionsblock keinen Vorteil, ausser dass er Dir am Anfang eine Schablone gibt.

                          Du kannst auch den ganzen Ausdruck in eine Variable setzen:
                          41120414-3313-4e04-ac00-390669735f2e-image.png

                          Wie gesagt, am Anfang hilft Dir das vielleicht - versuch halt lieber die Syntax zu verstehen:
                          https://docs.jsonata.org/other-operators#-------transform

                          Nehmen wir mal an, Du möchtest bei allen Namen noch die Anrede in das Objekt einfügen, dann stimmt doch der Ausdruck schon nicht mehr.

                          080a00cd-e7f6-42ab-a952-955561e75ae5-image.png

                          Letztlich lässt Du Dir zwar mit Deiner Funktion nur die Syntax zusammenstellen.

                          5b2876c0-ca34-4e0b-93c7-69aa504caeaa-image.png

                          letztlich sind ja Deine Parameter index, key1, key2, value - auch fix - wenn Du diese Funktion aufrufst bzw. wenn Du Dir aus Datenpunkten holst. Aber egal- Du bekommst das schon hin. ;)

                          Wenn Du Dir die Syntax anschaust, dann siehst Du ja an der Funktionsbeschreibung, die einzelnen Parameter:

                          head ~> | location | update [, delete] |
                          

                          head

                          Mit "head" spezifierst Du das ganze Objekt - welches Du wie auch immer verändert wieder haben willst.

                          Schau mal das kennst Du ja bereits - als Transformation des gesamten Heads:

                          e0d84160-cebe-4a43-88e1-58496132d761-image.png

                          Wenn Du als "head" nun nur noch das einzelne Objekt wieder haben willst, mit der id 2 dann filterst Du bereits im head.

                          6697cb33-8701-42f2-bcba-b3f2ea0c8ab1-image.png

                          Jetzt bekommst Du also nur noch das Objekt zurück, was Du über den head bereits gefiltert hast.

                          $[id=2]~>|Name|{"Nachname":"geänderter Nachname"}|
                          

                          Wenn Du im head schon bis zum Namensobjekt gefiltert hast, dann bekommst Du auch nur noch das Namensobjekt zurück. Dann ist der Pfad zum Objekt (location) natürlich das Objekt selbst.

                          $[id=2].Name~>|$|{"Nachname":"geänderter Nachname"}|
                          

                          ed392402-4034-4f5d-86f4-b8adf880e3e9-image.png

                          Probiers im Exerciser einfach aus.

                          location

                          Das ist der Pfad zu dem Objekt, dass Du modifzieren willst. Der Pfad richtet sich danach, wie der head ausschaut, also ob Du das ganze Ausgangsobjekt nimmst oder nur einen Teil.

                          update

                          Da schreibst Du in Objektschreibweise hin, welche Eigenschaft Du ändern willst. Existiert diese nicht wird sie hinzugefügt

                          ======================================================================================

                          Wenn ich also so eine Funktion basteln würde, dann würde ich das mit diesen 3 Parametern machen .

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          rantanplanR 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @rantanplan sagte in [gelöst] Blockly JSON Eintrag ändern:

                            Eventuell probiere ich es bei meiner Heizungssteuerung.
                            Und da für jeden Raum, Zeiten, Temperaturen usw. feste Ausdrücke zu verwenden finde schier unmöglich.
                            Oder sehe ich da was falsch?

                            Na in meinen Augen siehst Du das falsch. Anstelle eine Funktion aufzurufen, kannst du doch den JSONATA Eintrag direkt erstellen. Du kannst den ja auch insgesamt als einen String abspeichern.
                            Ich seh hinter diesem Funktionsblock keinen Vorteil, ausser dass er Dir am Anfang eine Schablone gibt.

                            Du kannst auch den ganzen Ausdruck in eine Variable setzen:
                            41120414-3313-4e04-ac00-390669735f2e-image.png

                            Wie gesagt, am Anfang hilft Dir das vielleicht - versuch halt lieber die Syntax zu verstehen:
                            https://docs.jsonata.org/other-operators#-------transform

                            Nehmen wir mal an, Du möchtest bei allen Namen noch die Anrede in das Objekt einfügen, dann stimmt doch der Ausdruck schon nicht mehr.

                            080a00cd-e7f6-42ab-a952-955561e75ae5-image.png

                            Letztlich lässt Du Dir zwar mit Deiner Funktion nur die Syntax zusammenstellen.

                            5b2876c0-ca34-4e0b-93c7-69aa504caeaa-image.png

                            letztlich sind ja Deine Parameter index, key1, key2, value - auch fix - wenn Du diese Funktion aufrufst bzw. wenn Du Dir aus Datenpunkten holst. Aber egal- Du bekommst das schon hin. ;)

                            Wenn Du Dir die Syntax anschaust, dann siehst Du ja an der Funktionsbeschreibung, die einzelnen Parameter:

                            head ~> | location | update [, delete] |
                            

                            head

                            Mit "head" spezifierst Du das ganze Objekt - welches Du wie auch immer verändert wieder haben willst.

                            Schau mal das kennst Du ja bereits - als Transformation des gesamten Heads:

                            e0d84160-cebe-4a43-88e1-58496132d761-image.png

                            Wenn Du als "head" nun nur noch das einzelne Objekt wieder haben willst, mit der id 2 dann filterst Du bereits im head.

                            6697cb33-8701-42f2-bcba-b3f2ea0c8ab1-image.png

                            Jetzt bekommst Du also nur noch das Objekt zurück, was Du über den head bereits gefiltert hast.

                            $[id=2]~>|Name|{"Nachname":"geänderter Nachname"}|
                            

                            Wenn Du im head schon bis zum Namensobjekt gefiltert hast, dann bekommst Du auch nur noch das Namensobjekt zurück. Dann ist der Pfad zum Objekt (location) natürlich das Objekt selbst.

                            $[id=2].Name~>|$|{"Nachname":"geänderter Nachname"}|
                            

                            ed392402-4034-4f5d-86f4-b8adf880e3e9-image.png

                            Probiers im Exerciser einfach aus.

                            location

                            Das ist der Pfad zu dem Objekt, dass Du modifzieren willst. Der Pfad richtet sich danach, wie der head ausschaut, also ob Du das ganze Ausgangsobjekt nimmst oder nur einen Teil.

                            update

                            Da schreibst Du in Objektschreibweise hin, welche Eigenschaft Du ändern willst. Existiert diese nicht wird sie hinzugefügt

                            ======================================================================================

                            Wenn ich also so eine Funktion basteln würde, dann würde ich das mit diesen 3 Parametern machen .

                            rantanplanR Offline
                            rantanplanR Offline
                            rantanplan
                            schrieb am zuletzt editiert von
                            #14

                            @mickym sagte in [gelöst] Blockly JSON Eintrag ändern:

                            Na in meinen Augen siehst Du das falsch. Anstelle eine Funktion aufzurufen, kannst du doch den JSONATA Eintrag direkt erstellen.

                            Jetzt habe ich Dich verstanden. Aber die komplette Syntax zu bauen ist schon die Königsdisziplin.

                            Ich seh hinter diesem Funktionsblock keinen Vorteil, ausser dass er Dir am Anfang eine Schablone gibt.

                            Ja, eine Schablone ist aber schon mal ein Anfang. Und weniger Fehleranfällig.

                            Wie gesagt, am Anfang hilft Dir das vielleicht - versuch halt lieber die Syntax zu verstehen:

                            Ich werde es versuchen.

                            letztlich sind ja Deine Parameter index, key1, key2, value - auch fix - wenn Du diese Funktion aufrufst bzw. wenn Du Dir aus Datenpunkten holst.

                            Ja, aber einem Blockly/JSON angepasst.
                            Ich muss erstmal anfangen. Vielleicht kommt ja noch ein AHA-Effekt.

                            Aber egal- Du bekommst das schon hin. ;)

                            Überschätz mich nicht ;)

                            Rantanplan

                            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                            mickymM 1 Antwort Letzte Antwort
                            0
                            • rantanplanR rantanplan

                              @mickym sagte in [gelöst] Blockly JSON Eintrag ändern:

                              Na in meinen Augen siehst Du das falsch. Anstelle eine Funktion aufzurufen, kannst du doch den JSONATA Eintrag direkt erstellen.

                              Jetzt habe ich Dich verstanden. Aber die komplette Syntax zu bauen ist schon die Königsdisziplin.

                              Ich seh hinter diesem Funktionsblock keinen Vorteil, ausser dass er Dir am Anfang eine Schablone gibt.

                              Ja, eine Schablone ist aber schon mal ein Anfang. Und weniger Fehleranfällig.

                              Wie gesagt, am Anfang hilft Dir das vielleicht - versuch halt lieber die Syntax zu verstehen:

                              Ich werde es versuchen.

                              letztlich sind ja Deine Parameter index, key1, key2, value - auch fix - wenn Du diese Funktion aufrufst bzw. wenn Du Dir aus Datenpunkten holst.

                              Ja, aber einem Blockly/JSON angepasst.
                              Ich muss erstmal anfangen. Vielleicht kommt ja noch ein AHA-Effekt.

                              Aber egal- Du bekommst das schon hin. ;)

                              Überschätz mich nicht ;)

                              mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von
                              #15

                              @rantanplan sagte in [gelöst] Blockly JSON Eintrag ändern:

                              Überschätz mich nicht

                              Ich muss manchmal auch probieren - es wäre gelogen, wenn ich einfach sagen würde - dass es mir nur so aus den Fingern fließt. Deswegen liebe ich den Exerciser - da ich dann solange rumprobieren kann, bis es passt.

                              Wenn Du nur einen Parameter ändern willst, passt das ja - aber stell Dir mal vor, Du willst für die Person, Vor- und Nachname ändern? :grin:

                              Wie einfach das im Grunde geht. ;)

                              $~>|$[id=2].Name|{"Vorname":"Max","Nachname":"Mustermann"}|
                              

                              53c535c1-3424-4655-8eca-c91a8b1344a4-image.png

                              Und wie gesagt, scheu Dich halt nicht zu fragen. Für mich war das am Anfang auch schwer zu verstehen - heute bin ich sowas von begeistert. Ich glaube das merkt man auch.

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              884

                              Online

                              32.4k

                              Benutzer

                              81.5k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe