Úvod do formátu JSON v JavaScriptu

Někdy je potřeba převést určitou datovou strukturu, třeba pole nebo objekt, na řetězec. To může být potřeba, například, aby bylo možné tuto strukturu odeslat přes internet nebo uložit do nějakého úložiště.

K tomuto účelu byl v JavaScriptu vytvořen speciální formát JSON.

Formát JSON může obsahovat jednu ze dvou struktur: buď pole, nebo objekt s páry klíč-hodnota. Pole a objekty se konstruují stejně jako v JavaScriptu, ale mají omezení: všechny řetězce a řetězcové klíče objektů musí být uzavřeny v dvojitých uvozovkách.

Vytvořme například řetězec obsahující pole ve formátu JSON:

javascriptlet json = '[1, 2, 3, 4, 5, "a", "b"]';

A nyní vytvořme řetězec obsahující objekt ve formátu JSON:

javascriptlet json = `{
  "a": "aaa",
  "b": "bbb",
  "c": "ccc",
  "111": "ddd"
}`;

Tyto struktury lze libovolně kombinovat:

javascriptlet json = `[
  {
    "a": "aaa",
    "b": "bbb"
  },
  {
    "c": "ccc",
    "d": "ddd"
  }
]`;

Na rozdíl od struktur v JavaScriptu, v JSON nejsou povoleny čárky za posledními prvky pole a objektů:

javascriptlet json = '[1, 2, 3, 4, 5,]'; // nesprávně
let json = '[1, 2, 3, 4, 5]';  // správně

Kromě čísel a řetězců mohou jako prvky vystupovat také hodnoty true, false a null:

javascriptlet json = '[null, true, false]';
Задание 1

Je dáno pole:

javascriptlet arr = [1, 2, 3, 'a', 'b', 'c'];

Ručně převeďte toto pole na řetězec ve formátu JSON.

Задание 2

Je dán objekt:

javascriptlet obj = {
  a: 1,
  b: 2,
  c: 'eee',
  d: true,
};

Ručně převeďte tento objekt na řetězec ve formátu JSON.

Задание 3

Je dán objekt:

javascriptlet obj = {
  a: ['a', 'b', 'c',],
  b: '111',
  c: 'eee',
};

Ručně převeďte tento objekt na řetězec ve formátu JSON.