
Zpracování JSONu v PHP
Ahoj,
měl bych dotaz, jak rozumně zpracovat JSON v PHP.
Konkrétně jde o tento JSON:
{
"Installer1": {
"*": {
"to": [
"jarda@seznam.cz"
],
"cc": []
},
"1.0.*": [
"jarda.jiny@seznam.cz"
],
"1.1.0": [
]
},
"Installer2": {
"*": [
"jarda@seznam.cz"
],
"1.0.*": [
"jarda.jiny@seznam.cz"
],
"1.1.0": [
]
},
"215asd8as65as8wasfd": [
"jarda@seznam.cz",
"jarda.jiny@seznam.cz"
]
}
Načítám jej následovně:
$pathToJSONfile = "...(cesta)";
$JSONfile = "";
$fileHandle = fopen($pathToJSONfile, "r");
while (!feof($fileHandle)) {
$JSONfile .= fgets($fileHandle);
}
fclose($fileHandle);
A nyní potřebuji nějakým rozumným způsobem přistupovat k hodnotám v načteném $JSONfile:
$json_a = json_decode(json_encode($JSONfile, true));
a
foreach ((array)$json_a as $key => $value) {
if (!is_array($value)) {
echo $key . '=>' . $value . '<br/>';
} else {
if (is_array($value)) {
foreach ($value as $key => $val) {
echo $key . '=>' . $val . '<br/>'; // Tady padne, hlásí: Array to string conversion exception
}
}
else
echo $key . '=>' . $val . '<br/>';
}
}
Existuje nějaký jednoduchý způsob, jak vytvořit kolekci v PHP, či objekt z takového JSONu?
Konkrétně, abych měl pole, či objekt installer1 či installer2.
Tento objekt by obsahoval příslušnou verzi installeru (jak je patrno z JSONu).
A jednotlivé verze by obsahovaly příslušné seznamy emailů.
Děkuji.