2010-10-12 11 views
30

Me gustaría saber cuál es la estructura correcta para una lista de objetos en JSON.Estructura de JSON para la lista de objetos

Estamos utilizando JAXB para convertir los POJO a JSON.

Aquí están las opciones, por favor diríjanme qué es lo correcto.

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

o

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

Si la primera estructura es correcto, lo que es la anotación JAXB que debe utilizar para conseguir la estructura adecuada.

+1

"utilizando JAXB para convertir los POJO a JSON" .... ¿cómo? – skaffman

Respuesta

23

El primero es la sintaxis no válida. No puede tener propiedades de objeto dentro de una matriz simple. El segundo es correcto aunque no es estricto JSON. Es un relajado forma de JSON en el que se omiten las comillas en las teclas de secuencia.

This tutorial by Patrick Hunlock, pueden ayudar a aprender sobre JSON y this site pueden ayudar a validar JSON.

39

El segundo es correcta:

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

Esto no se valida en jsonlint :( Estoy tentado de pensar que jsonlint está equivocado: –

+2

@RamanpreetSingh - Si está validando a través de 'jsonlint', necesitará añadir también comillas para' foos' en el nivel superior. –

+0

Agregué comillas y llaves en el nivel superior y funciona. ¡Gracias! –

9

Como otros han dicho, la respuesta de Justin estaba cerca, pero no del todo bien. Probé esto usando Visual Studio "Pegar JSON como clases de C#"

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