JSON format u PHP

JSON predstavlja format za čuvanje podataka. Ovaj format se često koristi za razmenu podataka između sajtova, ili između servera i pretraživača. Ovaj format je kompaktniji i jednostavniji u poređenju sa XML-om, zato se trenutno koristi mnogo šire.

Skraćenica JSON se dešifruje kao JavaScript Object Notation. Stvar je u tome što je JSON prvobitno osmišljen u jeziku JavaScript, ali sada se koristi svuda.

Sa stanovišta PHP, podaci u JSON formatu predstavljaju string:

php<?php
  $str = '
    // ovde će biti JSON
  ';
?>

Sam format predstavlja neku višedimenzionalnu strukturu, koja se sastoji od običnih i asocijativnih nizova. Elementima nizova mogu biti stringovi obavezno u duplim navodnicima, brojevi, vrednosti true, false ili null.

Hajde da pogledamo na primerima. Napravimo niz sa brojevima:

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

Napravimo niz sa stringovima:

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

Napravimo niz sa mešanim sadržajem:

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

Hajde sada da napravimo asocijativni niz. U terminologiji JavaScript takvi nizovi se zovu objekti. Objekti se stavljaju u vitičaste zagrade, a ključevi se odvajaju od vrednosti dvotačkama. Pritom ključevima takvih nizova moraju služiti stringovi obavezno u duplim navodnicima. Napravimo primer objekta:

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

Možemo kombinovati nizove i objekte u strukturama bilo kog nivoa ugnježdenosti:

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

Imajte u vidu da viseći zarezi posle poslednjeg elementa u JSON formatu nisu dozvoljeni:

php<?php
  $str = '[
    "a",
    "b", 
    "c",
  ]'; // poslednji zarez je suvišan
?>
Задание 1

Preoblikujte sledeću PHP strukturu u JSON string:

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

Preoblikujte sledeću PHP strukturu u JSON string:

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

Preoblikujte sledeću PHP strukturu u JSON string:

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

Preoblikujte sledeću PHP strukturu u JSON string:

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