JSON format v PHP

JSON je format za shranjevanje podatkov. Ta format se pogosto uporablja za izmenjavo podatkov med spletnimi mesti ali med strežnikom in brskalnikom. Ta format je bolj kompakten in enostaven v primerjavi z XML, zato se trenutno uporablja veliko pogosteje.

Okrajšava JSON pomeni JavaScript Object Notation. Dejstvo je, da je bil JSON prvotno izumljen v jeziku JavaScript, vendar se zdaj uporablja povsod.

Z vidika PHP so podatki v formatu JSON predstavljeni kot niz:

php<?php
  $str = '
    // tukaj bo JSON
  ';
?>

Sam format predstavlja neko večdimenzionalno strukturo, sestavljeno iz navadnih in asociativnih polj. Elementi polj so lahko nizi obvezno v dvojnih narekovajih, števila, vrednosti true, false ali null.

Poglejmo si primere. Naredimo polje s števili:

php<?php
  $str = '[1, 2, 3, 4, 5]';
?>

Naredimo polje z nizi:

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

Naredimo polje z mešano vsebino:

php<?php
  $str = '[1, "a", true, false, null]';
?>

Sedaj naredimo asociativno polje. V terminologiji JavaScript se takšna polja imenujejo objekti. Objekti so zaprti v zavitih oklepajih, ključi pa so ločeni od vrednosti z dvopičji. Pri tem morajo biti ključi takšnih polj nizi obvezno v dvojnih narekovajih. Naredimo primer objekta:

php<?php
  $str = '{
    "a": 1,
    "b": 2,
    "c": 3
  }';
?>

Polja in objekte je mogoče kombinirati v strukturah katere koli stopnje gnezditve:

php<?php
  $str = '{
    "a": [1, 2, 3],
    "b": [4, 5, 6]
  }';
?>

Upoštevajte, da viseče vejice za zadnjim elementom v formatu JSON niso dovoljene:

php<?php
  $str = '[
    "a",
    "b", 
    "c",
  ]'; // zadnja vejica je odveč
?>
Задание 1

Spremenite naslednjo strukturo PHP v niz JSON:

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

Spremenite naslednjo strukturo PHP v niz JSON:

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

Spremenite naslednjo strukturo PHP v niz JSON:

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

Spremenite naslednjo strukturo PHP v niz JSON:

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