Formato JSON em PHP
JSON é um formato para armazenamento de dados. Este formato é frequentemente utilizado para a troca de dados entre sites, ou entre o servidor e o navegador. Este formato é mais compacto e simples em comparação com XML, portanto é atualmente muito mais utilizado.
A abreviação JSON significa JavaScript Object Notation. O fato é que originalmente o JSON foi criado na linguagem JavaScript, mas agora é usado em toda parte.
Do ponto de vista do PHP, os dados no formato JSON são representados por uma string:
<?php
$str = '
// aqui estará o JSON
';
?>
O próprio formato representa uma certa
estrutura multidimensional, consistindo
de arrays normais e associativos.
Os elementos dos arrays podem ser strings
obrigatoriamente entre aspas duplas, números,
valores true, false
ou null.
Vejamos alguns exemplos. Vamos criar um array com números:
<?php
$str = '[1, 2, 3, 4, 5]';
?>
Vamos criar um array com strings:
<?php
$str = '["a", "b", "c"]';
?>
Vamos criar um array com conteúdo misto:
<?php
$str = '[1, "a", true, false, null]';
?>
Agora vamos criar um array associativo. Em termos de JavaScript, tais arrays são chamados de objetos. Os objetos são colocados entre chaves, e as chaves são separadas dos valores por dois-pontos. Além disso, as chaves desses arrays devem ser strings obrigatoriamente entre aspas duplas. Vamos criar um exemplo de objeto:
<?php
$str = '{
"a": 1,
"b": 2,
"c": 3
}';
?>
É possível combinar arrays e objetos em estruturas de qualquer nível de aninhamento:
<?php
$str = '{
"a": [1, 2, 3],
"b": [4, 5, 6]
}';
?>
Observe que vírgulas pendentes após o último elemento no formato JSON não são permitidas:
<?php
$str = '[
"a",
"b",
"c",
]'; // a última vírgula é desnecessária
?>
Converta a seguinte estrutura PHP em uma string JSON:
<?php
$data = [1, 2, 3];
?>
Converta a seguinte estrutura PHP em uma string JSON:
<?php
$data = ['x', 'y', 'z',];
?>
Converta a seguinte estrutura PHP em uma string JSON:
<?php
$data = [
'x' => 'a',
'y' => 'b',
'z' => 'c',
];
?>
Converta a seguinte estrutura PHP em uma string JSON:
<?php
$data = [
'ru' => ['1', '2', '3'],
'en' => ['a', 'b', 'c'],
];
?>