2011-03-14 6 views
122

Esto es todo lo que necesita para un JSON válido, ¿verdad?¿Cómo se representa una matriz de cadenas JSON?

["somestring1", "somestring2"] 
+4

Esa es una matriz JSON que contiene dos cadenas, sí ... ¿hay más en esa pregunta? ;) – Town

+0

Leí algo que contradecía lo que estamos todos de acuerdo. Entonces, quería que la realidad fuera allí. ¡Gracias! – finneycanhelp

+3

¡Ah, ya veo! Es una pena que no puedas aceptar tu propia pregunta como respuesta: D – Town

Respuesta

216

Elaboraré un poco más en ChrisR awesome answer y traeré imágenes de su awesome reference.

Un JSON válido siempre comienza con cualquiera de las llaves { o corchetes [.

{ se iniciará un object que debe tener la siguiente estructura:

json object

[ iniciará una array que debe tener la siguiente estructura:

json array

Por último, el value es cualquiera un object, array, string, number o 3 otros estados como los siguientes:

enter image description here

Así que sí, su ejemplo es un JSON perfectamente válido, como usted podría try on the link Manish pointed.

+10

Representación de IU tan impresionante –

+1

Buena explicación. – 107

+0

¿JSON tiene que tener comillas dobles? Traté de validar la cadena de OP anterior pero con comillas simples en jsonlint.com y me dice que no es válida. Pero es válido cuando se utilizan comillas dobles. – Ray

37

Básicamente sí, JSON es solo una representación literal de su valor en JavaScript, por lo que lo que dijo es correcto.

puede encontrar una explicación muy clara y buena de la notación JSON en http://json.org/

41

El objeto JSON en este caso es una lista. JSON es casi siempre un objeto con atributos; un conjunto de uno o más pares clave: valor, por lo que es muy probable que vea un diccionario:

{ "MyStringArray" : ["somestring1", "somestring2"] } 

entonces usted puede pedir el valor de "MyStringArray" y que sería obtener una lista de dos cadenas, "somestring1" y "somestring2".

Uso http://jsonlint.com/ para validar mi JSON.

+11

El ejemplo de código que ha publicado no es válido, cuando intente analizar esa cadena como json arrojará un error/excepción. El hecho de que diga que JSON es siempre pares clave/valor también es intrínsecamente incorrecto. Nada en la especificación JSON dice que NECESITA tener pares clave/valor.Cuando se habla de transporte de datos, de hecho los pares clave/valor son la estructura más útil, pero la cadena OP publicada es perfectamente válida JSON: http://codebeautify.org/jsonviewer/92ac7b – ChrisR

+3

tiene la razón. Estoy corregido. – PapaSmurf

+1

Tenía una API en el cerebro, donde desea buscar el valor en una matriz basada en una clave. Entonces sería, para una matriz sin nombre, {"1": "somestring1", "2": "somestring2"} – PapaSmurf

4
String strJson="{\"Employee\": 
[{\"id\":\"101\",\"name\":\"Pushkar\",\"salary\":\"5000\"}, 
{\"id\":\"102\",\"name\":\"Rahul\",\"salary\":\"4000\"}, 
{\"id\":\"103\",\"name\":\"tanveer\",\"salary\":\"56678\"}]}"; 

Este es un ejemplo de una cadena JSON con Employee como objeto, a continuación, varias cadenas y valores en una matriz como una referencia a @cregox ...

Un poco complicado, pero se puede explicar muchas cosas en una cadena JSON única.

Cuestiones relacionadas