You can use json_decode
to create an array or a stdClass object from your json.
Reading, if using json_decode
creating a stdClass would be very simple.
Seeing your code, apparently you would want options with the colonies that are in the JSON.
To obtain it you can do:
$json='{
"delegacion":"\u00c1lvaro Obreg\u00f3n",
"estado":"Ciudad de M\u00e9xico",
"region":"Centro",
"colonias":[
{"idcp":"27886","asentamiento":"Ampliaci\u00f3n El Capul\u00edn"},
{"idcp":"27887","asentamiento":"Liberales de 1857"},
{"idcp":"27888","asentamiento":"Bel\u00e9m de las Flores"},
{"idcp":"27889","asentamiento":"El Capul\u00edn"}
]
}';
$myJson=json_decode($json);
$strHTML='<select id="colonias">'; //Si sólo quieres los option quita esto
foreach ($myJson->colonias as $k){
$strHTML.='<option value="'.$k->idcp.'">'.$k->asentamiento.'</option>';
}
$strHTML.='</select>'; //Si sólo quieres los option quita esto
echo $strHTML;
Result:
<select id="colonias">
<option value="27886">
Ampliación El Capulín
</option>
<option value="27887">
Liberales de 1857
</option>
<option value="27888">
Belém de las Flores
</option>
<option value="27889">
El Capulín
</option>
</select>
Previous answer with more explanations ...
<?php
$json='{
"delegacion":"\u00c1lvaro Obreg\u00f3n",
"estado":"Ciudad de M\u00e9xico",
"region":"Centro",
"colonias":[
{"idcp":"27886","asentamiento":"Ampliaci\u00f3n El Capul\u00edn"},
{"idcp":"27887","asentamiento":"Liberales de 1857"},
{"idcp":"27888","asentamiento":"Bel\u00e9m de las Flores"},
{"idcp":"27889","asentamiento":"El Capul\u00edn"}
]
}';
$myJson=json_decode($json);
print_r($myJson);
/*Leyendo datos*/
echo "DELEGACIÓN: ".$myJson->delegacion.PHP_EOL;
echo "ESTADO: ".$myJson->estado.PHP_EOL;
echo "REGIÓN: ".$myJson->region.PHP_EOL;
echo "COLONIAS: ".PHP_EOL;
foreach ($myJson->colonias as $k){
echo "\t".$k->idcp." - ".$k->asentamiento.PHP_EOL;
}
?>
Here the print_r($myJson);
is only informative, to see what is created.
You will see this on screen:
stdClass Object
(
[delegacion] => Álvaro Obregón
[estado] => Ciudad de México
[region] => Centro
[colonias] => Array
(
[0] => stdClass Object
(
[idcp] => 27886
[asentamiento] => Ampliación El Capulín
)
[1] => stdClass Object
(
[idcp] => 27887
[asentamiento] => Liberales de 1857
)
[2] => stdClass Object
(
[idcp] => 27888
[asentamiento] => Belém de las Flores
)
[3] => stdClass Object
(
[idcp] => 27889
[asentamiento] => El Capulín
)
)
)
Result:
What is interesting is this. The final result would be something like this:
DELEGACIÓN: Álvaro Obregón
ESTADO: Ciudad de México
REGIÓN: Centro
COLONIAS:
27886 - Ampliación El Capulín
27887 - Liberales de 1857
27888 - Belém de las Flores
27889 - El Capulín