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 Offline
    rantanplanR Offline
    rantanplan
    schrieb am zuletzt editiert von rantanplan
    #1

    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

    Rantanplan

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

    mickymM paul53P rantanplanR 3 Antworten 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

      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

                                915

                                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