JSON формат у PHP-у

JSON представља формат за складиштење података. Овај формат се често користи за размену података између сајтова, или између сервера и прегледача. Овај формат је компактнији и једноставнији у поређењу са XML-ом, па се тренутно користи много шире.

Скраћеница JSON се дешифрује као JavaScript Object Notation. Ствар је у томе што је JSON првобитно осмишљен у језику JavaScript, али сада се користи свуда.

Са тачке гледишта PHP-а, подаци у JSON формату представљају стринг:

php<?php
  $str = '
    // овде ће бити JSON
  ';
?>

Сам формат представља неку вишедимензионалну структуру, састављену од обичних и асоцијативних низова. Елементи низова могу бити стрингови обавезно у двоструким наводницима, бројеви, вредности true, false или null.

Хајде да погледамо на примерима. Направимо низ са бројевима:

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

Направимо низ са стринговима:

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

Направимо низ са помешаним садржајем:

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

Хајде сада да направимо асоцијативни низ. У терминологији JavaScript такви низови се називају објектима. Објекти се затварају у витичасте заграде, а кључеви се одвајају од вредности двотачкама. Притом, кључеви таквих низова морају бити стрингови обавезно у двоструким наводницима. Направимо пример објекта:

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

Може се комбиновати низове и објекте у структурама било ког нивоа угнежђења:

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

Имајте у виду да висећи зарези после последњег елемента у JSON формату нису дозвољени:

php<?php
  $str = '[
    "a",
    "b", 
    "c",
  ]'; // последњи зарез је сувишан
?>
Задание 1

Преведите следећу структуру PHP-а у JSON стринг:

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

Преведите следећу структуру PHP-а у JSON стринг:

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

Преведите следећу структуру PHP-а у JSON стринг:

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

Преведите следећу структуру PHP-а у JSON стринг:

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