PHP e JSON
O que é JSON?
JSON significa JavaScript Object Notation e é uma sintaxe para armazenar e trocar dados.
Como o formato JSON é um formato baseado em texto, ele pode ser facilmente enviado de e para um servidor e usado como formato de dados por qualquer linguagem de programação.
PHP e JSON
O PHP tem algumas funções internas para lidar com JSON.
Primeiro, veremos as duas funções a seguir:
- json_encode()
- json_decode()
PHP - json_encode()
A função json_encode() é usada para codificar um valor para o formato JSON.
Exemplo
Este exemplo mostra como codificar uma matriz associativa em um objeto JSON:
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
Exemplo
Este exemplo mostra como codificar uma matriz indexada em uma matriz JSON:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
PHP - json_decode()
A função json_decode() é usada para decodificar um objeto JSON em um objeto PHP ou um array associativo.
Exemplo
Este exemplo decodifica dados JSON em um objeto PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
A função json_decode() retorna um objeto por padrão. A função json_decode() tem um segundo parâmetro e, quando definido como true, os objetos JSON são decodificados em matrizes associativas.
Exemplo
Este exemplo decodifica dados JSON em uma matriz associativa PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj,
true));
?>
PHP - Acessando os valores decodificados
Aqui estão dois exemplos de como acessar os valores decodificados de um objeto e de um array associativo:
Exemplo
Este exemplo mostra como acessar os valores de um objeto PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
Exemplo
Este exemplo mostra como acessar os valores de um array associativo PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
PHP - Fazendo um loop pelos valores
Você também pode percorrer os valores com um loop foreach() :
Exemplo
Este exemplo mostra como percorrer os valores de um objeto PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj
as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
Exemplo
Este exemplo mostra como percorrer os valores de um array associativo PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value
. "<br>";
}
?>