Pregunta

Me estoy tirando de datos de un servicio web y que tiene el formato JSON. Estoy escribiendo una secuencia de comandos de Google Apps para Hojas de cálculo que poblarán los datos por mí. Mi problema es que parece que no puede conseguir que se omita.

Haciendo:

var dataset = myJSONtext;
Browser.msgbox(dataset.item[0].key); 

errores, diciendo:

  

elemento [0] no está definido.

¿Hay alguna construida en forma que debería estar haciendo esto?

¿Fue útil?

Solución

Aplicaciones guión es (más o menos) justo Javascript; llanura de edad JSON.parse es la mejor opción para analizar JSON en una representación de objeto.

También puede utilizar JSON.stringify para serializar un objeto en una representación de cadena.

Otros consejos

JSON.parse

Para aquellos que están viendo esto en 2011+, como de Henrique Abreu en el foro de soporte de Google, se Utilities.jsonParse / dejará de estar disponible. Como se puede ver en el hilo, hay un error con esta función que no funciona cuando sus teclas son números, es decir, "1234".

Como se sugirió, debería utilizar JSON.stringify / análisis.

Una actualización de 2013 - Salida en la biblioteca ImportJSON

http://blog.fastfedora.com/projects/import-json

"ImportJSON importa los datos de API JSON públicas en Google Spreadsheets. Su objetivo es operar de manera similar a cómo el trabajo nativa Google funciones de hoja de cálculo y ImportData ImportXML."

Código disponible aquí y que ha presentado a la Galería de secuencias de comandos: https://raw.github.com/fastfedora/google-docs/master/ scripts / ImportJSON / Code.gs

Ejemplo de uso: Después de poner el código en el Editor de secuencias de la hoja de cálculo Google, a continuación, pegar esto en la celda A1 de la hoja:

=ImportJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json", "/feed/entry/title,/feed/entry/content",               "noInherit,noTruncate,rawHeaders")

Utilice esta GIST: https://gist.github.com/varun-raj/5350595a730a62ca1954

Reemplazar

http://example.com/feeds?type=json

JSON con su url

Añadir sus entidades aquí

rows.push([data.id, data.name,data.email]);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top