Leer fichero JSON con PHP
Ejemplo básico de cómo leer un fichero JSON con PHP y convertirlo en un array para su uso.
Fichero JSON de ejemplo
{
"products": [
{
"id": 1,
"reference": "1054.AS.400",
"attributes": {
"color": [
{"id": 5, "value": "Red"},
{"id": 91, "value": "Orange"}
],
"size": [
{"id": 62, "value": "X"},
{"id": 4, "value": "XXL"}
]
}
},
{
"id": 2,
"reference": "2594.RF.400",
"attributes": {
"color": [
{"id": 5, "value": "Red"},
{"id": 14, "value": "Blue"}
],
"size": [
{"id": 2, "value": "S"},
{"id": 4, "value": "XXL"}
]
}
}
]
}
Función y uso
Crearemos una función muy sencilla que nos retornará un array del contenido del fichero JSON o un valor false en caso de error.
function jsonFileToArray($archivo){
/* Comprobar si existe el archivo */
if(!is_file($archivo)) return false;
/* Cargar el contenido del archivo */
$contenido = file_get_contents($archivo);
if($contenido === false) return false;
/* Convertir el contenido a un array */
$datos = json_decode($contenido, true);
if(is_null($datos)) return false;
return $datos;
}
/* Ejemplo de uso */
$datos = jsonFileToArray("test.json");
print("<pre>".print_r($datos, true)."</pre>");