Въведение във формат JSON в JavaScript

Понякога се налага да преобразуваме някаква структура данни, например, масив или обект, в низ. Това може да е необходимо, например, за да изпратим тази структура през интернет или да я запазим в някакво хранилище.

За целта в JavaScript е създаден специален формат JSON.

Форматът JSON може да съдържа една от двете структури: или масив, или обект с двойки ключ-стойност. Масивите и обектите се изграждат по същия начин, както в JavaScript, но имат ограничение: всички низове и низови ключове на обекти трябва да са поставени в двойни кавички.

Нека, например, направим низ, съдържащ масив във формат JSON:

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

А сега нека направим низ, съдържащ обект във формат JSON:

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

Може да комбинирате тези структури в произволен ред:

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

За разлика от структурите в JavaScript, в JSON не са разрешени запетаи след последните елементи на масиви и обекти:

javascriptlet json = '[1, 2, 3, 4, 5,]'; // некоректно
let json = '[1, 2, 3, 4, 5]';  // коректно

Освен числа и низове, като елементи могат да се използват и стойностите true, false и null:

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

Даден е масив:

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

Ръчно преобразувайте този масив в низ във формат JSON.

Задание 2

Даден е обект:

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

Ръчно преобразувайте този обект в низ във формат JSON.

Задание 3

Даден е обект:

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

Ръчно преобразувайте този обект в низ във формат JSON.