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<?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<?php
  $str = '[1, 2, 3, 4, 5]';
?>

Készítsünk egy tömböt karakterláncokkal:

php<?php
  $str = '["a", "b", "c"]';
?>

Készítsünk egy tömböt vegyes tartalommal:

php<?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<?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<?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<?php
  $str = '[
    "a",
    "b", 
    "c",
  ]'; // az utolsó vessző felesleges
?>
Задание 1

Alakítsa át a következő PHP struktúrát JSON karakterlánccá:

php<?php
  $data = [1, 2, 3];
?>
Задание 2

Alakítsa át a következő PHP struktúrát JSON karakterlánccá:

php<?php
  $data = ['x', 'y', 'z',];
?>
Задание 3

Alakítsa át a következő PHP struktúrát JSON karakterlánccá:

php<?php
  $data = [
    'x' => 'a',
    'y' => 'b',
    'z' => 'c',
  ];
?>
Задание 4

Alakítsa át a következő PHP struktúrát JSON karakterlánccá:

php<?php
  $data = [
    'ru' => ['1', '2', '3'],
    'en' => ['a', 'b', 'c'],
  ];
?>