{
"results" : [
{
"address_components" : [
{
"long_name" : "Paseo del Prado",
"short_name" : "Paseo del Prado",
"types" : [ "route" ]
},
{
"long_name" : "Madrid",
"short_name" : "Madrid",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Madrid",
"short_name" : "M",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Comunidad de Madrid",
"short_name" : "Comunidad de Madrid",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "España",
"short_name" : "ES",
"types" : [ "country", "political" ]
},
{
"long_name" : "28014",
"short_name" : "28014",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Paseo del Prado, 28014 Madrid, España",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 40.41153370,
"lng" : -3.69255780
},
"southwest" : {
"lat" : 40.41091040,
"lng" : -3.69268670
}
},
"location" : {
"lat" : 40.41122210,
"lng" : -3.69262220
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 40.41257103029150,
"lng" : -3.691273269708498
},
"southwest" : {
"lat" : 40.40987306970850,
"lng" : -3.693971230291502
}
}
},
"types" : [ "route" ]
},......
Como se puede acceder a las diferentes partes directamente ?
Algún ejemplillo ?
Gracias.
On 04/18/2013 11:02 AM, Benjamin Rodriguez wrote:
Hola.
Después de realizar varias apps para Spotbros, he visto que muchos datos hay que tomarlos por json o xml.
Yo estoy acostumbrado a usar bases de datos y json y xml se me traban un poco.
Por ejemplo la app CALLE (OR8P4UM), tiene que tomar un json, que no soy capaz de acceder por elementos y actualmente tengo tomada la información convirtiendo a string y usando funciones de texto, pero me gustaría sabre como acceder a los elementos directamente por el array.
Os pongo parte del json devuelto:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Paseo del Prado",
"short_name" : "Paseo del Prado",
"types" : [ "route" ]
},
{
"long_name" : "Madrid",
"short_name" : "Madrid",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Madrid",
"short_name" : "M",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Comunidad de Madrid",
"short_name" : "Comunidad de Madrid",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "España",
"short_name" : "ES",
"types" : [ "country", "political" ]
},
{
"long_name" : "28014",
"short_name" : "28014",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Paseo del Prado, 28014 Madrid, España",
Hola!Algún ejemplillo ?
Gracias.
--
Has recibido este mensaje porque estás suscrito al grupo "sbportal" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a sbportal+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
Lo más sencillo en este caso es utilizar la función "json_decode" de esta forma: json_decode([JSON_STRING],true). Pasándole el segundo argumento a "true" para que te devuelva un array asociativo. De esta forma, en tu caso:
$results = json_decode($json_string,true);
// itera sobre los "address_components
$address_components = $results["address_components"];
foreach($address_components as $component)
{
// haz algo
print $component["long_name"]."\n";
}
Espero que te sirva.
Saludos
--
Has recibido este mensaje porque estás suscrito al grupo "sbportal" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a sbportal+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.