Назад

June 30, 2025

🔎 Як серіалізувати лише потрібні властивості з JSON-об'єкта

За замовчуванням, JSON.stringify(value) серіалізує всі доступні властивості обʼєкта value.

const tools = [
  {
    title: 'You Might Not Need jQuery',
    summary: 'Колекція JavaScript-альтернатив до jQuery методів',
    url: 'https://youmightnotneedjquery.com/'
  },
  {
    title: 'JavaScript Visualizer',
    summary: 'Інтерактивний візуалізатор стеку викликів, замикань, подій',
    url: 'https://www.jsv9000.app/'
  },
  {
    title: 'Regex 101',
    summary: 'Редактор регулярних виразів з поясненнями та прикладами',
    url: 'https://regex101.com/'
  }
]

Якщо просто викликати JSON.stringify(tools), то ви отримаєте повну JSON-структуру:

JSON.stringify(tools);

/*
[
  {
    "title": "You Might Not Need jQuery",
    "summary": "...",
    "url": "..."
  },
  {
    "title": "JavaScript Visualizer",
    "summary": "...",
    "url": "..."
  },
  {
    "title": "Regex 101",
    "summary": "...",
    "url": "..."
  }
]
*/

Але якщо вам потрібно вибрати лише конкретні властивості, скористайтесь другим параметром у JSON.stringify:

// Тільки заголовки
JSON.stringify(tools, ['title']);

// Заголовки та посилання
JSON.stringify(tools, ['title', ['url']]);

Цей прийом зручний для:

  • обмеження обсягу виводу
  • приховати приватні або зайві дані
  • фільтрація перед збереженням/передачею на сервер