2011-01-28 39 views
21

En primer lugar, soy un recién llegado al dominio de Javascript. Tengo un archivo JSON, tales como los siguientes:Cómo usar un archivo JSON en javascript

{"markers": [ 
    { 
    "abbreviation": "SPA", 
    "latitude":-13.32, 
    "longitude":-89.99, 
    "markerImage": "flags/us.png", 
    "information": "South Pole", 
    }, 

.... lots more of these in between .... 

{ 
    "abbreviation": "ALE", 
    "latitude":-62.5, 
    "longitude":82.5, 
    "markerImage": "flags/us.png", 
    "information": "Alert", 
    }, 
] } 

He estado haciendo mucha investigación en cuanto a cómo puedo llevar este archivo de nuevo en mi script sólo para encontrar maneras de codificar cadenas en archivos JSON. Básicamente, quiero leer el archivo a través de JavaScript, algo como esto ... (sé que esto no es cómo código)

object data = filename.json 
document.write(data.markers.abbreviation[1]) 

por favor alguien puede dar instrucciones claras sobre la forma de ir haciendo esto. Recuerde, soy un recién llegado y necesito detalles ya que no estoy a la par con la jerga de javascript.

Respuesta

48

Primero necesita un identificador en un archivo. Debes obtenerlo de alguna manera, ya sea a través de ajax o mediante el comportamiento del lado del servidor.

Debe indicar el uso del archivo. Cómo planea obtenerlo y qué código de servidor usa.

Una vez que tenga puede usar JSON.parse(string) en él. Puede incluir el archivo json2.js si necesita admitir navegadores más antiguos.

Si usa jQuery también puede probar para realizar el análisis.

Una opción para conseguir de forma remota utilizando JSON se jQuery.getJSON

para cargarlo o bien se puede utilizar JSONP o algún tipo de biblioteca con funcionalidad Ajax como jQuery.ajax o Ajax.Request. Se puede hacer en JavaScript sin procesar, pero eso es feo y reinventar la rueda.

$.getJSON("document.json", function(data) { 
    console.log(data); 
    // data is a JavaScript object now. Handle it as such 

}); 
+3

Voté esto si se vinculó a las bibliotecas que se discutieron. – Quentin

+2

@DavidDorward se vincula a ellos. ¿Realmente necesito enlaces directos a los archivos '.js'? – Raynos

+0

Los enlaces no aparecían cuando escribí ese comentario. – Quentin

Cuestiones relacionadas