2010-03-10 21 views
17

Estoy tratando de entender cómo una matriz javascript única y multidimensional aparecería en JSON. ¿Alguien puede ayudarme con un ejemplo para cada uno?JavaScript y matriz JSON

Respuesta

14

Single-dimensional:

["one", "two", "three"] 

Multi-dimensional:

[["one", "two", "three"], 
["four", "five", "six"]] 
+2

que se está perdiendo una coma en multidimensional –

+0

Buena captura! Acabo de agregar la coma. –

13

matriz individual de enteros primitivos:

[1, 1, 2, 3, 5, 8]

matriz individual de objetos:

[ 
    { 
    "title": "hello", 
    "msg": "world" 
    }, 
    { 
    "title": "stack", 
    "msg": "overflow" 
    }, 
    { 
    "title": "json", 
    "msg": "array" 
    }, 
] 

Conjunto multidimensional de enteros primitivos:

[ 
    [1, 2, 3], 
    [4, 5, 6], 
    [7, 8, 9] 
] 
+0

¿cuál es la diferencia ... es que una matriz javacript representada como JSON? En caso afirmativo, ¿cómo se vería la matriz JS y cómo sería lo mismo en JSON? – ScG

+0

@ScG: Ayudaría si proporcionara un poco más de contexto con respecto a lo que intenta almacenar en su "matriz". Los ejemplos de matriz que he enumerado se pueden usar en el código JavaScript y en JSON-compatible. Este enlace (también proporcionado por otros carteles) lo explica en más detalle (primer resultado de Google para JSON): http://www.json.org Si lee los primeros párrafos en esa página, verá que tu pregunta "es que una matriz de JavaScript representada como JSON?" es un poco confuso, porque JSON * es * un subconjunto de JavaScript, de ahí el acrónimo JSON = JavaScript Object Notation. – schematic

+0

En otras palabras, estas matrices están escritas de la misma manera tanto en JSON como en JavaScript. La diferencia entre los dos primeros ejemplos solo se encuentra en los tipos de datos que están almacenados en la matriz. En el primer ejemplo, la matriz está almacenando valores enteros. En el segundo, la matriz está almacenando objetos (pares de nombre/valor). Ambos son matrices JSON y JavaScript legítimas.El último ejemplo multidimensional es una matriz de matrices, y el ejemplo también es legítimo para usar como una cadena JSON y en el código fuente de JavaScript. – schematic

2

creo que usted debe saber cuál es la diferencia entre JSON y un objeto literal JavaScript, pueden mirar exactamente lo mismo, pero hay algunas diferencias semánticas.

JSON es un formato independiente del idioma de datos intercambio, proposed por Douglas Crockford en 2006, su gramática difiere de la de JavaScript Object literals, básicamente, al permitir only string keys y los valores debe ser un objeto, matriz, número, cadena o uno de los nombres literales: false, true o null.

de habla acerca de las matrices, en JavaScript que puede contener cualquier tipo de valor, los valores primitivos como String, Number, Boolean, undefined o null, y cualquier tipo de objeto, incluso los objetos con los métodos, objetos de acogida como elementos DOM, Date objetos y así.

Los diagramas de sintaxis de matrices y los valores JSON te pueden ayudar:

Array http://json.org/array.gif

Value http://json.org/value.gif

+0

Bueno ... quiero utilizar esto para almacenar dinámicamente la matriz de matrices [aquí] (http://stackoverflow.com/questions/11586079/save-an-array-of-arrays-to-database) ¿Podrías por favor elaborar .. – harry