Format JSON w PHP

JSON to format do przechowywania danych. Ten format jest często wykorzystywany do wymiany danych między stronami internetowymi lub między serwerem a przeglądarką. Ten format jest bardziej kompaktowy i prostszy w porównaniu z XML, dlatego obecnie jest używany znacznie częściej.

Skrót JSON rozwija się jako JavaScript Object Notation. Chodzi o to, że początkowo JSON został wymyślony w języku JavaScript, ale teraz jest używany powszechnie.

Z punktu widzenia PHP dane w formacie JSON reprezentowane są jako ciąg znaków:

php<?php
  $str = '
    // tutaj będzie JSON
  ';
?>

Sam format reprezentuje pewną strukturę wielowymiarową, składającą się ze zwykłych tablic i tablic asocjacyjnych. Elementami tablic mogą być ciągi znaków obowiązkowo w podwójnych cudzysłowach, liczby, wartości true, false lub null.

Spójrzmy na przykłady. Stwórzmy tablicę z liczbami:

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

Stwórzmy tablicę z ciągami znaków:

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

Stwórzmy tablicę z mieszaną zawartością:

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

Stwórzmy teraz tablicę asocjacyjną. W terminologii JavaScript takie tablice nazywane są obiektami. Obiekty są ujęte w nawiasy klamrowe, a klucze oddzielone od wartości dwukropkami. Jednocześnie kluczami takich tablic muszą być ciągi znaków obowiązkowo w podwójnych cudzysłowach. Zróbmy przykład obiektu:

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

Można łączyć tablice i obiekty w strukturach dowolnego poziomu zagnieżdżenia:

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

Pamiętaj, że wiszące przecinki po ostatnim elemenci w formacie JSON są niedozwolone:

php<?php
  $str = '[
    "a",
    "b", 
    "c",
  ]'; // ostatni przecinek jest zbędny
?>
Задание 1

Przekształć następującą strukturę PHP na ciąg JSON:

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

Przekształć następującą strukturę PHP na ciąg JSON:

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

Przekształć następującą strukturę PHP na ciąg JSON:

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

Przekształć następującą strukturę PHP na ciąg JSON:

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