Tengo un array JavaScript que, entre otros, contiene una URL. Si intento simplemente poner la URL en la página (el array está en un proyecto que involucra la API de Yahoo! Maps) muestra la URL como debe ser.
Pero si trato de hacer una redirección o simplemente hacer un 'alert' en el elemento de la matriz de enlace obtengo:
function(){return JSON.encode(this);}
Por lo que veo esto se debe a que el navegador hace un JSON.encode cuando renderiza la página, por lo que el enlace se muestra OK. He probado varios métodos para hacer que redireccione (que es lo que quiero hacer con el enlace) correctamente (incluyendo el uso de 'eval') pero sin suerte.
Después de seguir algunas sugerencias he ejecutado eval('(' + jsonObject + ')')
pero sigue devolviendo la misma salida.
¿Cómo se hace?
Si recibes este texto en una alerta:
function(){return JSON.encode(this);}
cuando intentas alert(myArray[i]), entonces hay algunas posibilidades:
La forma más sencilla de saberlo sería comprobar typeof(myArray[i]).
La decodificación de JSON en JavaScript es simplemente un eval() si confías en la cadena o el código más seguro que puedes encontrar en http://json.org si no'lo haces.
A continuación, tendrá una datastructure JavaScript que se puede recorrer para los datos que necesita.