Salvando dados em um arquivo JSON com PHP

Salvando dados em um arquivo JSON com PHP

Às vezes, usando PHP, precisamos salvar alguns dados e não queremos ter o trabalho de criar e configurar um banco de dados para fazer essa tarefa. Uma alternativa é salvar esses dados em um arquivo utilizando a JavaScript Object Notation. Neste artigo vou ensinar como criar e salvar dados em um arquivo JSON usando PHP.

Como criar um arquivo JSON com PHP

Para criar um arquivo JSON vamos primeiramente criar uma variável PHP chamada $data (que será o nosso objeto no arquivo JSON) na qual vamos atribuir um array associativo com chave e valor (que serão as propriedades no JSON). Após isso vamos usar a função json_encode para converter a variável PHP em uma string do tipo JSON. Para salvar o JSON em um arquivo vamos utilizar a função fopen para criar o arquivo data.json e a função fwrite para escrever esse arquivo, e por fim a função fclose para fechar.

Salvando objetos em um arquivo JSON com PHP

Nesse primeiro exemplo vamos salvar apenas 1 objeto no JSON, com duas propriedades.

$data = array(
    "nome" => "Yuri",
    "idade" => 28
);

$arquivo = 'data.json';
$json = json_encode($data);
$file = fopen(__DIR__ . '/' . $arquivo,'w');
fwrite($file, $json);
fclose($file);
{
  "nome": "Yuri",
  "idade": 28
}
data.json

Salvando um array de objetos em um arquivo JSON com PHP

Nesse segundo exemplo vamos colocar nosso array associativo (criado no exemplo anterior) dentro de um array indexado. Dessa forma quando convertermos para JSON teremos um array de objetos.

$data = array(
    array(
        "nome" => "Yuri",
        "idade" => 28
    ),
    array(
        "nome" => "Paula",
        "idade" => 29
    ),
);

$arquivo = 'data.json';
$json = json_encode($data);
$file = fopen(__DIR__ . '/' . $arquivo,'w');
fwrite($file, $json);
fclose($file);
[
  {
    "nome": "Yuri",
    "idade": 28
  },
  {
    "nome": "Paula",
    "idade": 29
  }
]
data.json

Referências