2010-10-12 12 views
30

Je voudrais savoir, quelle est la bonne structure pour une liste d'objets dans JSON.Structure JSON pour la liste des objets

Nous utilisons JAXB pour convertir les POJO en JSON.

Voici les choix, S'il vous plaît me dire ce qui est juste.

foos: [ 
      foo:{..}, 
      foo:{..} 
     ] 

ou

foos : [ 
      {...}, 
      {...} 
      ] 

Si la première structure est juste, ce qui est l'annotation JAXB j'utiliser pour obtenir le droit de la structure.

+1

"en utilisant JAXB pour convertir les POJO en JSON" .... comment? – skaffman

Répondre

23

La première est une syntaxe invalide. Vous ne pouvez pas avoir de propriétés d'objet dans un tableau simple. Le second est correct bien qu'il ne soit pas strict JSON. C'est une forme relâchée de JSON dans laquelle les citations dans les clés de chaîne sont omises.

This tutorial by Patrick Hunlock, peut vous aider à en apprendre plus sur JSON et this site peut vous aider à valider le format JSON.

39

La seconde est correcte:

{ 
    "foos" : [{ 
     "prop1":"value1", 
     "prop2":"value2" 
    }, { 
     "prop1":"value3", 
     "prop2":"value4" 
    }] 
} 
+0

Ceci ne valide pas sur jsonlint :( Je suis tenté de penser que jsonlint a tort: ​​- | –

+2

@RamanpreetSingh - Si vous validez via 'jsonlint', vous devrez également ajouter des guillemets autour de' foos' au –

+0

J'ai ajouté des citations et des accolades au niveau supérieur et ça marche. –

9

Comme d'autres ont mentionné, la réponse de Justin était proche, mais pas tout à fait raison. J'ai testé cela en utilisant "Paste JSON en tant que classes C# Visual Studio"

{ 
    "foos" : [ 
     { 
      "prop1":"value1", 
      "prop2":"value2" 
     }, 
     { 
      "prop1":"value3", 
      "prop2":"value4" 
     } 
    ] 
}