javascript - recorrer - object.values typescript
Cómo decodificar JSON elementos de la matriz en JavaScript? (7)
La decodificación JSON en JavaScript es simplemente una evaluación () si confía en la cadena o en el código más seguro que puede encontrar en http://json.org si no lo hace.
A continuación, tendrá una estructura de datos de JavaScript que puede recorrer para obtener los datos que necesita.
Tengo una matriz de JavaScript que, entre otros, contiene una URL. Si intento simplemente colocar la URL en la página (la matriz se encuentra en un proyecto que involucra la API de Yahoo Maps), muestra la URL como debería ser.
Pero si intento hacer un redireccionamiento o simplemente hacer una ''alerta'' en el elemento del arreglo de enlace, obtengo:
function () {return JSON.encode (this);}
Hasta donde yo veo, esto se debe a que el navegador hace un código JSON cuando muestra la página, por lo tanto, el enlace se muestra en Aceptar. He intentado varios métodos para hacerlo redirigir (eso es lo que quiero hacer con el enlace) correctamente (incluido el uso de ''eval'') pero sin suerte.
Después de seguir algunas sugerencias, he ejecutado eval(''('' + jsonObject + '')'')
pero todavía devuelve el mismo resultado.
Entonces, ¿cómo se hace esto?
Si obtiene este texto en una alerta:
function(){return JSON.encode(this);}
cuando intentas alertar (myArray [i]), entonces hay algunas posibilidades:
- myArray [i] es una función (lo más probable)
- myArray [i] es la cadena literal "function () {return JSON.encode (this);}"
- myArray [i] tiene un método .toString () que devuelve esa función o esa cadena. Este es el menos probable de los tres.
La forma más simple de decir sería verificar typeof (myArray [i]).
eval(''('' + jsonObject + '')'')
Si el elemento objeto que obtienes es una función, puedes probar esto:
var url = myArray[i]();
Supongamos que tiene una matriz en PHP como $ iniData con 5 campos. Si usa ajax -
echo json_encode($iniData);
En Javascript, use lo siguiente:
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: "GET",
url: "ajaxCalls.php",
data: "dataType=ini",
success: function(msg)
{
var x = eval(''('' + msg + '')'');
$(''#allowed'').html(x.allowed); // these are the fields which you can now easily access..
$(''#completed'').html(x.completed);
$(''#running'').html(x.running);
$(''#expired'').html(x.expired);
$(''#balance'').html(x.balance);
}
});
});
</script>
var obj = jQuery.parseJSON(''{"name":"John"}'');
alert( obj.name === "John" );
Decodifico JSON de esta manera:
eval( ''var from_json_object = '' + my_json_str + '';'' );