2011-09-11 15 views
14

En concreto, si tengo algo de JSON:¿Cómo puedo poner datos JSON en CoffeeScript?

var myData = [ 'some info', 'some more info' ] 
var myOtherData = { someInfo: 'some more info' } 

¿Cuál es la sintaxis correcta CoffeeScript para eso?

+6

Sólo una nota, el JSON es totalmente equivocado. No hay nombre de propiedad, no hay suficientes símbolos de comillas, y esto parece una matriz wannabe en notación de objeto. – tjameson

+1

Derecho, debe decidir si 'myData' es un hash de clave-valor o una matriz. Ya sea que esté en JSON, JavaScript o CoffeeScript, '{}' denota un "objeto literal" (un conjunto de pares clave-valor) y '[]' denota una "matriz literal" (una lista ordenada). –

+0

¿Por qué obtuve un voto a favor? – Shamoon

Respuesta

40

Si desea crear una matriz se puede utilizar myData = ['some info', 'some more info']

Si desea crear un objeto que puede utilizar myData = {someKey: 'some value'}

O puede utilizar simplemente myData = someKey: 'some value' (es decir, puede ommit la {})

Para estructuras de objeto más complicadas, utilice sangría con {} opcionales y comas opcionales, por ejemplo

myData = 
    a: "a string" 
    b: 0 
    c: 
     d: [1,2,3] 
     e: ["another", "array"] 
    f: false 

dará como resultado la myData variable que contiene un objeto con la siguiente representación JSON, (que también pasa a ser válida CoffeeScript):

{ 
    "a": "a string", 
    "b": 0, 
    "c": { 
    "d": [1, 2, 3], 
    "e": ["another", "array"] 
    }, 
    "f": false 
} 
+10

Buena visión general. Solo para aclarar, casi todos los literales objeto/matriz JSON o JavaScript funcionarán bien cuando se copie y pegue en CoffeeScript. –

Cuestiones relacionadas