Ú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:
let json = '[1, 2, 3, 4, 5, "a", "b"]';
A nyní vytvořme řetězec obsahující objekt ve formátu JSON:
let json = `{
"a": "aaa",
"b": "bbb",
"c": "ccc",
"111": "ddd"
}`;
Tyto struktury lze libovolně kombinovat:
let 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ů:
let 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:
let json = '[null, true, false]';
Je dáno pole:
let arr = [1, 2, 3, 'a', 'b', 'c'];
Ručně převeďte toto pole na řetězec ve formátu JSON.
Je dán objekt:
let obj = {
a: 1,
b: 2,
c: 'eee',
d: true,
};
Ručně převeďte tento objekt na řetězec ve formátu JSON.
Je dán objekt:
let obj = {
a: ['a', 'b', 'c',],
b: '111',
c: 'eee',
};
Ručně převeďte tento objekt na řetězec ve formátu JSON.