2016-04-18 4 views
13

Ich bin neu bei Json. Einige json-Beispiele, die ich gesehen habe, haben Daten in den geschweiften Klammern und einige json-Beispiele haben Unterdaten in eckigen Klammern.Was ist der Zweck der Verwendung von eckigen Klammern in JSON?

{ 
"glossary": { 
    "title": "example glossary", 
    "GlossDiv": { 
     "title": "S", 
     "GlossList": { 
      "GlossEntry": { 
       "ID": "SGML", 
       "SortAs": "SGML", 
       "GlossTerm": "Standard Generalized Markup Language", 
       "Acronym": "SGML", 
       "Abbrev": "ISO 8879:1986", 
       "GlossDef": { 
        "para": "A meta-markup language, used to create markup languages such as DocBook.", 
        "GlossSeeAlso": ["GML", "XML"] 
       }, 
       "GlossSee": "markup" 
      } 
     } 
    } 
} 
} 

Von http://json.org/example.html

Was ist die Notwendigkeit/Zweck Daten innerhalb der eckigen Klammern zu haben?

Bezug

+2

@Quentin meine Frage unterschied sich von der Frage als Duplikat vorgeschlagen. – Uswer721

+0

Nein, tut es nicht. Sie fragen, was der Unterschied zwischen '[]' und '{}' ist, diese Frage fragt, was der Unterschied zwischen '[]', '{}' und 'new Array()' ist. Das ist so ähnlich wie es praktisch keinen Unterschied macht. – Quentin

+0

@Quentin Vielleicht. Ich dachte [] ** in ** {} hätte eine andere Bedeutung. Kein Problem, ich habe es jetzt. – Uswer721

Antwort

28

die eckigen Klammern eine Liste erzeugen, erzeugen die geschweiften Klammern ein Objekt mit Schlüssel/Wert-Paare

Die Liste dann

+1

Dies ist, was ich gesucht habe. Vielen Dank! – Uswer721

18

[] bedeutet ein Wert von einem Schlüssel/Wert-Paar sein kann, ein Array von Objekt (eine Liste) und {} bedeutet, dass es ein Objekt sein wird.

Beispiel:

{ 
    "ID":"test", 
    "sports": [ 
     "volley-ball", 
     "badminton" 
    ] 
} 

die ID zu erhalten, können Sie tun: myjsonobject.ID (hier werden Sie "Test" erhalten)

Und für den Sport: myjsonobject.sports[0] (hier erhalten Sie „Volley-ball ")

+4

Das Beispiel macht das Konzept von {} und [] klar. Vielen Dank! – Uswer721

+0

Mit anderen Worten, [] ist ein Array und {} ist eine Hashtabelle. Für die PowerShell-Typen ist [] gleich @(), während {} gleich @ {} ist. – bviktor