Lendo JSON no PHP
// O Curl irá fazer uma requisição para a API do Vimeo
// e irá receber o JSON com as informações do vídeo.
$curl = curl_init("http://vimeo.com/api/oembed.json?url=http://vimeo.com/13211055");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($curl);
curl_close($curl);
// Faremos o PHP interpretar e reconhecer o JSON que
// recebemos da API do Vimeo.
$encoded = json_decode($json);
// As informações pode ser recuperadas da seguinte forma.
// Resultado do echo: Forest aerials 5D 1080p KAHRS / 395 segundos
echo $encoded->{'title'} . " / " . $encoded->{'duration'} . " segundos";
Escrevendo JSON no PHP
// Criamos um Array com algumas informações básicas
// de uma pessoa.
$person_info = array(
"nome" => "Gustavo Paes",
"idade" => 22,
"profissao" => "Webmaster",
"cidade" => utf8_encode("São Paulo"),
"interesses" => array(utf8_encode("informática"), utf8_encode("programação"), "esportes")
);
// Agora transformamos esse Array em uma String
// formatada em JSON
$json = json_encode($person_info);
echo $json;
O resultado será um JSON, que se formatado terá a seguinte estrutura:
{
"nome": "Gustavo Paes",
"idade": 22,
"profissao": "Webmaster",
"cidade": "S\u00e3o Paulo",
"interesses": [
"inform\u00e1tica",
"programa\u00e7\u00e3o",
"esportes"
]
}
Há um inconveniente nessa função: os dados precisam estar em UTF-8. Portanto, é recomendável usar sempre o utf8_encode para evitar que algumas informações sejam perdidas.
http://php.net/utf8_encode
Créditos: https://gustavopaes.net/blog/2010/php-como-ler-e-escrever-dados-no-formato-json.html