Leer fichero JSON con PHP

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>");

Escribe una respuesta


+ 75 = 76