A JSON formátum PHP-ben
A JSON egy adattároló formátum. Ezt a formátumot gyakran használják adatcserére weboldalak között, vagy a szerver és a böngésző között. Ez a formátum tömörebb és egyszerűbb, mint az XML, ezért jelenleg sokkal szélesebb körben használják.
A JSON mozaikszó a JavaScript Object Notation-ból származik. Az az igazság, hogy eredetileg a JSON-t a JavaScript nyelvben találták fel, de ma már mindenhol használják.
A PHP szempontjából a JSON formátumú adatok egy karakterláncot (stringet) képviselnek:
<?php
$str = '
// itt JSON lesz
';
?>
Maga a formátum egyfajta
többdimenziós struktúra, amely
közönséges és asszociatív tömbökből áll.
A tömbök elemei lehetnek karakterláncok
(kötőjelezve kettős idézőjelek között), számok,
true, false
vagy null értékek.
Nézzünk példákat. Készítsünk egy tömböt számokkal:
<?php
$str = '[1, 2, 3, 4, 5]';
?>
Készítsünk egy tömböt karakterláncokkal:
<?php
$str = '["a", "b", "c"]';
?>
Készítsünk egy tömböt vegyes tartalommal:
<?php
$str = '[1, "a", true, false, null]';
?>
Most készítsünk egy asszociatív tömböt. A JavaScript terminológiájában az ilyen tömböket objektumoknak hívják. Az objektumokat kapcsos zárójelek közé kell tenni, és a kulcsokat kettőspontokkal kell elválasztani az értékektől. Ezenkívül az ilyen tömbök kulcsainak karakterláncoknak kell lenniük, kettős idézőjelek között. Készítsünk egy példa objektumot:
<?php
$str = '{
"a": 1,
"b": 2,
"c": 3
}';
?>
A tömbök és objektumok kombinálhatók bármilyen beágyazási szintű struktúrákban:
<?php
$str = '{
"a": [1, 2, 3],
"b": [4, 5, 6]
}';
?>
Vedd figyelembe, hogy a felesleges vesszők az utolsó elem után a JSON formátumban nem megengedettek:
<?php
$str = '[
"a",
"b",
"c",
]'; // az utolsó vessző felesleges
?>
Alakítsa át a következő PHP struktúrát JSON karakterlánccá:
<?php
$data = [1, 2, 3];
?>
Alakítsa át a következő PHP struktúrát JSON karakterlánccá:
<?php
$data = ['x', 'y', 'z',];
?>
Alakítsa át a következő PHP struktúrát JSON karakterlánccá:
<?php
$data = [
'x' => 'a',
'y' => 'b',
'z' => 'c',
];
?>
Alakítsa át a következő PHP struktúrát JSON karakterlánccá:
<?php
$data = [
'ru' => ['1', '2', '3'],
'en' => ['a', 'b', 'c'],
];
?>