JavaScript: об'єкти та JSON

JSON: серіалізація та парсинг

📖 Теорія

JSON (JavaScript Object Notation) — текстовий формат обміну даними.

Правила JSON:
• Ключі тільки в подвійних лапках
• Значення: string, number, boolean, null, array, object
• Немає функцій, undefined, коментарів

JSON.stringify() — об'єкт → рядок:

💡 Приклад коду
Вивід:

                            
📝 ЗАВДАННЯ (3)
1.
Завдання 1: Серіалізація об'єкта
10 XP
Маємо об'єкт:
const server = { host: 'localhost', port: 8080, ssl: false };
Виведи його як JSON-рядок з відступом 2 пробіли.
💡 Підказка: JSON.stringify(obj, null, 2)
🔓 Розв'язок:
const server = { host: 'localhost', port: 8080, ssl: false };
console.log(JSON.stringify(server, null, 2));
Вивід:

                                

2.
Завдання 2: Парсинг JSON
20 XP
Маємо JSON-рядок:
const raw = '[{"id":1,"product":"Хліб","qty":3},{"id":2,"product":"Молоко","qty":1}]';

Розпарси та виведи кожен товар у форматі:
3x Хліб
1x Молоко
💡 Підказка: JSON.parse поверне масив об'єктів, потім forEach
🔓 Розв'язок:
const raw = '[{"id":1,"product":"Хліб","qty":3},{"id":2,"product":"Молоко","qty":1}]';
const items = JSON.parse(raw);
items.forEach(item => console.log(`${item.qty}x ${item.product}`));
Вивід:

                                

3.
Завдання 3: Трансформація даних
30 XP
Маємо масив users:
[{id:1,name:'Анна',score:92},{id:2,name:'Борис',score:78},{id:3,name:'Вікторія',score:95}]

1. Конвертуй у JSON-рядок
2. Розпарси назад
3. Виведи тільки імена з оцінкою >= 90
💡 Підказка: stringify → parse → filter → map
🔓 Розв'язок:
const users = [{id:1,name:'Анна',score:92},{id:2,name:'Борис',score:78},{id:3,name:'Вікторія',score:95}];
const json = JSON.stringify(users);
const parsed = JSON.parse(json);
const top = parsed.filter(u => u.score >= 90).map(u => u.name);
console.log(top);
Вивід: