peterS.: objekt-literal-notation / JavaScript Object Notation

Beitrag lesen

gruss KeF,

aus https://forum.selfhtml.org/?t=127470&m=822788

So sieht das Array aus (Im Array ist noch ein Array verschachtelt!):

{"1c48e6ea-3ebf-1326-be58-43c623668d4c":{"name":"Move Mountäin","id":"1c48e6ea-3ebf-1326-be58-43c623668d4c","total_time":"0"},"1e2da54e-05a0-4d3f-26ce-43c6237b9256":{"name":"Setup Booth At Tradeshow","id":"1e2da54e-05a0-4d3f-26ce-43c6237b9256","total_time":"0"},"191d5ef2-d91f-223d-e61d-43c62302f70d":{"name":"Take Over The World","id":"191d5ef2-d91f-223d-e61d-43c62302f70d","total_time":"0"}}

es handelt sich hierbei nicht um ein array, sondern
   um ein astreines [Object]-objekt in literal-notation.

formatiert ist dieses konstrukt leichter lesbar:
   ~~~JavaScript {
     "1c48e6ea-3ebf-1326-be58-43c623668d4c": {
       "name"      : "Move Mountäin",
       "id"        : "1c48e6ea-3ebf-1326-be58-43c623668d4c",
       "total_time": "0"
     },
     "1e2da54e-05a0-4d3f-26ce-43c6237b9256": {
       "name"      : "Setup Booth At Tradeshow",
       "id"        : "1e2da54e-05a0-4d3f-26ce-43c6237b9256",
       "total_time": "0"
     },
     "191d5ef2-d91f-223d-e61d-43c62302f70d": {
       "name"      : "Take Over The World",
       "id"        : "191d5ef2-d91f-223d-e61d-43c62302f70d",
       "total_time": "0"
     }
   }

  
   die strenge quotierung sowohl aller eigenschaftswerte  
   als auch aller eigenschaftsnahmen weisst dieses objekt  
   als ein [JSON](http://json.org)-objekt aus.  
  

> HTML\_AJAX.defaultEncoding = 'JSON';  

   aus <https://forum.selfhtml.org/?t=127470&m=822817>  
   bestaetigt diese vermutung.  
  
   auf Douglas Crockfords seiten finden sich links zu den  
   in den unterschiedlichsten sprachen implementierten  
   bibliotheken zum erzeugen bzw. parsen/evaluieren solcher  
   objektstrukturen.  
   die [JSON implementierung fuer JavaScript](http://www.json.org/json.js) sieht dafuer die  
   methoden "JSON.stringify" bzw. "JSON.parse" vor.  
  
   Du verwendest sicherlich irgendeine bibliothek, die Dir  
   den "http-request/response" vorgang kapselt.  
   ich vermute, dass Dir diese bibliothek schon die umwandlung  
   von der literalnotation(text/String) in ein JavaScript-objekt  
   abnimmt, denn du schriebst:  
  

> Hi ok, hab immer [objekt Objekt] zurück bekommen und nicht  
> den beinhalteten wert. Hab das jetzt mit toSource() gelöst.  
  
   deswegen ist "toSource()" auch nicht gerade die ideale  
   loesung fuer Dein problem. Du hast schon ein objekt; auf  
   dem willst Du arbeiten. "[object].toSource()" liefert Dir  
   doch nur wieder einen String zurueck, und der ist dann  
   noch nicht mal JSON-konform. ausserdem steht diese methode  
   nativ nur in gecko-basierten browsern zur verfuegung.  
  
   wenn Du ein richtiges array benoetigst, musst Du dafuer  
   sorge tragen, dass der server-prozess ein entsprechendes  
   JSON-pendant ausliefert. als bsp. mal die oben aufgefuehrte  
   struktur als array-literal:  
   ~~~JavaScript
[  
     {  
       "name"      : "Move Mount&auml;in",  
       "id"        : "1c48e6ea-3ebf-1326-be58-43c623668d4c",  
       "total_time": "0"  
     },  
     {  
       "name"      : "Setup Booth At Tradeshow",  
       "id"        : "1e2da54e-05a0-4d3f-26ce-43c6237b9256",  
       "total_time": "0"  
     },  
     {  
       "name"      : "Take Over The World",  
       "id"        : "191d5ef2-d91f-223d-e61d-43c62302f70d",  
       "total_time": "0"  
     }  
   ]

so long - peterS. - pseliger@gmx.net

--
"Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive." - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]