2016-04-18 1 views
13

Je suis nouveau à json. Quelques exemples de json que j'ai vu ont des données dans les accolades et certains exemples de JSON ont des sous-données entre crochets.Quel est le but de l'utilisation de crochets dans 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" 
      } 
     } 
    } 
} 
} 

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

Quel est le besoin/but d'avoir des données dans les crochets?

concerne

+2

@Quantin ma question différait de la question suggérée comme doublon. – Uswer721

+0

Non, ce n'est pas le cas. Vous demandez quelle est la différence entre '[]' et '{}', cette question demande quelle est la différence entre '[]', '{}' et 'new Array()'. C'est aussi proche de l'identique que cela ne fait aucune différence pratique. – Quentin

+0

@Quentin Peut-être. Je pensais que [] ** dans ** {} avait une signification différente. Pas de problème, je l'ai maintenant. – Uswer721

Répondre

28

les crochets produisent une liste, les accolades produisent un objet avec des paires clé/valeur

La liste peut alors être une valeur d'une paire clé/valeur

+1

C'est ce que je cherchais. Merci! – Uswer721

18

[] moyens un tableau d'objet (une liste) et {} signifie que ce sera un objet.

Exemple:

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

Pour obtenir l'ID, vous pouvez faire: myjsonobject.ID (ici, vous obtiendrez "test")

Et pour les sports: myjsonobject.sports[0] (ici, vous obtiendrez « volley-ball ")

+4

L'exemple rend le concept de {} et [] clair. Merci! – Uswer721

+0

En d'autres termes, [] est un tableau et {} est une table de hachage. Pour les gars de PowerShell, [] est égal à @(), alors que {} est égal à @ {}. – bviktor