[SOLUCIONADO]problema con json
como puedo acceder a las propiedades de este objeto ?
var data={
direccion[direccion]:"Concejo de Ustarroz",
direccion[escalera]:"",
direccion[letra]:"",
direccion[numero]:"7"
....
}
al ser la propiedad asi var[var] me da error al hacer lo siguiente:
alert(data.direccion[direccion]);
pero necesito k el formato sea asi , este objeto lo obtengo al hacer una peticion ajax y luego con vertir la repuesta josn con ext.decode.
Gracias y un saludo
si utilizo el Ext.decode y me lo hace bien ,este es el json k devuelvo:
{'success':true,'data':{"direccion[direccion]":"bla bla","direccion[escalera]":"","direccion[letra]":"","direccion[numero]":"7","pais":"73","direccion[piso]":"bajo","direccion[poblacion]":"bla bla","direccion[postal]":"11111","provincia":"31","grupos":[1],"guard[mail]":"bla bla","guard[active]":"0","guard[nombre]":"bal bal","guard[telefono]":"bla bla","guard[movil]":"bla bla","guard[fax]":"","guard[observaciones]":"","proveedor[cif]":"bla bla","proveedor[contacto]":"bla bla","proveedor[cargo]":"","proveedor[id]":"1"}}
Ya lo sulucione haciendo esto antes
var text = Ext.JSON.decode(response.responseText);
this.plantilla.overwrite(panel.body, Ext.Object.getValues(text.data));
con lo que me devuelve un array con los valores y en la plantilla pongo el index del array
new Ext.XTemplate(
'{1}'
);
y si es dentro de l tag tpl
new Ext.XTemplate(
'
....
);
es un poco mas tedioso pero asi funciona , al usar symfony necesitaba trae los datos json en ese formato ;).
Gracias crysfel ;)
Mmmmm a mi parecer el formato JSON que viene del servidor es incorrecto, en verdad lo estás parseando con Ext.decode?? porque yo lo intente y obviamente me lanzo un error de sintaxis.
En todo caso la estructura de ese objeto debería ser así:
var data = {
direccion : {
direccion : "Consejo de Ustarroz",
escalera : "",
letra : "",
numero : "7
}
}
//ahora si puedes hacer esto:
var num = data.direccion["numero"];
Saludos
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.