<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Bcodder</title><subtitle>Пишу о Python, Telegram-ботах и автоматизации. Реальные кейсы, без воды. Программист и предприниматель с 14 лет.</subtitle><author><name>Bcodder</name></author><id>https://teletype.in/atom/bcodder</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/bcodder?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@bcodder?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=bcodder"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/bcodder?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-09-21T05:22:08.568Z</updated><entry><id>bcodder:json</id><link rel="alternate" type="text/html" href="https://teletype.in/@bcodder/json?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=bcodder"></link><title>JSON: Полное руководство для новичков и не только</title><published>2025-05-13T15:23:54.286Z</published><updated>2025-05-13T15:23:54.286Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/80/b2/80b28f2a-3951-4b04-9378-5230c55d82b2.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/f2/c8/f2c8714e-4b84-49f5-8b59-77fe4d18267c.jpeg&quot;&gt;JSON (JavaScript Object Notation) — это легкий и универсальный формат для обмена данными. Если вы только начинаете разбираться в программировании или хотите понять, как приложения обмениваются информацией, эта статья для вас. Мы разберем JSON с нуля: от основ до практических примеров, чтобы всё стало понятно даже абсолютному новичку.</summary><content type="html">
  &lt;p id=&quot;U48q&quot;&gt;JSON (JavaScript Object Notation) — это легкий и универсальный формат для обмена данными. Если вы только начинаете разбираться в программировании или хотите понять, как приложения обмениваются информацией, эта статья для вас. Мы разберем JSON с нуля: от основ до практических примеров, чтобы всё стало понятно даже абсолютному новичку.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;qUAU&quot;&gt;Что такое JSON?&lt;/h2&gt;
  &lt;p id=&quot;9fNL&quot;&gt;JSON — это текстовый формат для хранения и передачи данных. Его главная фишка — простота и читаемость. Он выглядит как набор пар &amp;quot;ключ-значение&amp;quot;, которые легко понимают и люди, и компьютеры. JSON родился из JavaScript, но сейчас его используют везде: от веб-приложений до мобильных игр.&lt;/p&gt;
  &lt;p id=&quot;P26z&quot;&gt;&lt;strong&gt;Пример простого JSON:&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;QHdP&quot;&gt;{
  &amp;quot;name&amp;quot;: &amp;quot;Алекс&amp;quot;,
  &amp;quot;age&amp;quot;: 25,
  &amp;quot;city&amp;quot;: &amp;quot;Москва&amp;quot;
}&lt;/pre&gt;
  &lt;p id=&quot;aswi&quot;&gt;Здесь мы описали человека с именем, возрастом и городом. Это и есть JSON — данные, организованные в понятной форме.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;CgSH&quot;&gt;Зачем нужен JSON?&lt;/h2&gt;
  &lt;p id=&quot;9PF1&quot;&gt;JSON популярен, потому что:&lt;/p&gt;
  &lt;ul id=&quot;F2F2&quot;&gt;
    &lt;li id=&quot;ySKN&quot;&gt;&lt;strong&gt;Универсален&lt;/strong&gt;: работает с любым языком программирования (Python, JavaScript, Java и т.д.).&lt;/li&gt;
    &lt;li id=&quot;reNg&quot;&gt;&lt;strong&gt;Легкий&lt;/strong&gt;: занимает мало места, что важно для быстрой передачи данных.&lt;/li&gt;
    &lt;li id=&quot;kgYo&quot;&gt;&lt;strong&gt;Читаемый&lt;/strong&gt;: даже без знаний программирования можно понять, что там написано.&lt;/li&gt;
    &lt;li id=&quot;1M4v&quot;&gt;&lt;strong&gt;Структурированный&lt;/strong&gt;: позволяет организовать сложные данные, например, списки или вложенные объекты.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;hNMj&quot;&gt;&lt;strong&gt;Где используется JSON?&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;Jwi2&quot;&gt;
    &lt;li id=&quot;eG1D&quot;&gt;В API (например, когда приложение запрашивает данные с сервера).&lt;/li&gt;
    &lt;li id=&quot;O6UG&quot;&gt;В конфигурационных файлах (например, настройки для игры или программы).&lt;/li&gt;
    &lt;li id=&quot;K5y4&quot;&gt;В базах данных (некоторые базы, вроде MongoDB, хранят данные в JSON-подобном формате).&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;dini&quot;&gt;Структура JSON&lt;/h2&gt;
  &lt;p id=&quot;QQYA&quot;&gt;JSON состоит из двух основных элементов: &lt;strong&gt;объектов&lt;/strong&gt; и &lt;strong&gt;массивов&lt;/strong&gt;.&lt;/p&gt;
  &lt;h3 id=&quot;WtEM&quot;&gt;1. Объекты&lt;/h3&gt;
  &lt;p id=&quot;5I7s&quot;&gt;Объект — это набор пар &amp;quot;ключ-значение&amp;quot;, заключенный в фигурные скобки {}. Ключ — это всегда строка в кавычках, значение может быть чем угодно: числом, строкой, другим объектом и т.д.&lt;/p&gt;
  &lt;p id=&quot;tNcr&quot;&gt;&lt;strong&gt;Пример объекта:&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;TUdV&quot;&gt;{
  &amp;quot;user&amp;quot;: {
    &amp;quot;name&amp;quot;: &amp;quot;Мария&amp;quot;,
    &amp;quot;email&amp;quot;: &amp;quot;maria@example.com&amp;quot;,
    &amp;quot;isActive&amp;quot;: true
  }
}&lt;/pre&gt;
  &lt;p id=&quot;u2h2&quot;&gt;Здесь user — это объект, внутри которого три ключа: name, email и isActive.&lt;/p&gt;
  &lt;h3 id=&quot;nPAs&quot;&gt;2. Массивы&lt;/h3&gt;
  &lt;p id=&quot;Z4hM&quot;&gt;Массив — это список значений, заключенный в квадратные скобки []. Значения могут быть любыми: числами, строками, объектами.&lt;/p&gt;
  &lt;p id=&quot;FaAN&quot;&gt;&lt;strong&gt;Пример массива:&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;EF5r&quot;&gt;{
  &amp;quot;fruits&amp;quot;: [&amp;quot;яблоко&amp;quot;, &amp;quot;банан&amp;quot;, &amp;quot;апельсин&amp;quot;]
}&lt;/pre&gt;
  &lt;p id=&quot;2uYs&quot;&gt;Здесь fruits — это массив из трех строк.&lt;/p&gt;
  &lt;h3 id=&quot;b3u2&quot;&gt;Правила синтаксиса&lt;/h3&gt;
  &lt;ul id=&quot;4gqz&quot;&gt;
    &lt;li id=&quot;seBy&quot;&gt;Ключи в объектах всегда в двойных кавычках: &amp;quot;key&amp;quot;.&lt;/li&gt;
    &lt;li id=&quot;j7fx&quot;&gt;Значения разделяются запятыми ,.&lt;/li&gt;
    &lt;li id=&quot;7iNa&quot;&gt;Объекты — в {} , массивы — в [].&lt;/li&gt;
    &lt;li id=&quot;QvFI&quot;&gt;Пробелы и переносы строк не влияют на работу, но делают код читаемым.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;Q54O&quot;&gt;Основные типы данных&lt;/h2&gt;
  &lt;p id=&quot;Ligx&quot;&gt;JSON поддерживает следующие типы данных:&lt;/p&gt;
  &lt;ol id=&quot;u37q&quot;&gt;
    &lt;li id=&quot;XhCO&quot;&gt;&lt;strong&gt;Строка&lt;/strong&gt; (string): текст в двойных кавычках, например, &amp;quot;привет&amp;quot;.&lt;/li&gt;
    &lt;li id=&quot;CUKR&quot;&gt;&lt;strong&gt;Число&lt;/strong&gt; (number): целые или дробные числа, например, 42 или 3.14.&lt;/li&gt;
    &lt;li id=&quot;8QvM&quot;&gt;&lt;strong&gt;Логическое значение&lt;/strong&gt; (boolean): true или false.&lt;/li&gt;
    &lt;li id=&quot;fcNO&quot;&gt;&lt;strong&gt;Объект&lt;/strong&gt; (object): набор пар &amp;quot;ключ-значение&amp;quot; в {}.&lt;/li&gt;
    &lt;li id=&quot;G5F2&quot;&gt;&lt;strong&gt;Массив&lt;/strong&gt; (array): список значений в [].&lt;/li&gt;
    &lt;li id=&quot;zFFN&quot;&gt;&lt;strong&gt;Пустое значение&lt;/strong&gt; (null): обозначает отсутствие данных, например, &amp;quot;phone&amp;quot;: null.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;Dfif&quot;&gt;&lt;strong&gt;Пример с разными типами:&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;SLBv&quot;&gt;{
  &amp;quot;name&amp;quot;: &amp;quot;Иван&amp;quot;,
  &amp;quot;age&amp;quot;: 30,
  &amp;quot;isStudent&amp;quot;: false,
  &amp;quot;grades&amp;quot;: [85, 90, 92],
  &amp;quot;address&amp;quot;: {
    &amp;quot;street&amp;quot;: &amp;quot;Ленина, 10&amp;quot;,
    &amp;quot;city&amp;quot;: &amp;quot;Санкт-Петербург&amp;quot;
  },
  &amp;quot;phone&amp;quot;: null
}&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;NvmZ&quot;&gt;Примеры использования&lt;/h2&gt;
  &lt;p id=&quot;wEkM&quot;&gt;Давайте разберем несколько реальных сценариев, где JSON пригодится.&lt;/p&gt;
  &lt;h3 id=&quot;w88w&quot;&gt;1. Передача данных через API&lt;/h3&gt;
  &lt;p id=&quot;LMzV&quot;&gt;Допустим, вы пишете приложение, которое запрашивает информацию о погоде. Сервер может вернуть данные в JSON:&lt;/p&gt;
  &lt;pre id=&quot;3eZ3&quot;&gt;{
  &amp;quot;city&amp;quot;: &amp;quot;Москва&amp;quot;,
  &amp;quot;temperature&amp;quot;: 15,
  &amp;quot;weather&amp;quot;: &amp;quot;облачно&amp;quot;,
  &amp;quot;forecast&amp;quot;: [
    {
      &amp;quot;date&amp;quot;: &amp;quot;2025-05-14&amp;quot;,
      &amp;quot;temp&amp;quot;: 17,
      &amp;quot;condition&amp;quot;: &amp;quot;дождь&amp;quot;
    },
    {
      &amp;quot;date&amp;quot;: &amp;quot;2025-05-15&amp;quot;,
      &amp;quot;temp&amp;quot;: 20,
      &amp;quot;condition&amp;quot;: &amp;quot;солнечно&amp;quot;
    }
  ]
}&lt;/pre&gt;
  &lt;p id=&quot;EdlK&quot;&gt;Здесь мы видим погоду в Москве и прогноз на два дня. Приложение легко разберет этот JSON и покажет данные пользователю.&lt;/p&gt;
  &lt;h3 id=&quot;ofGB&quot;&gt;2. Конфигурация приложения&lt;/h3&gt;
  &lt;p id=&quot;DsD2&quot;&gt;JSON часто используют для хранения настроек. Например, настройки для игры:&lt;/p&gt;
  &lt;pre id=&quot;YTOw&quot;&gt;{
  &amp;quot;game&amp;quot;: {
    &amp;quot;difficulty&amp;quot;: &amp;quot;medium&amp;quot;,
    &amp;quot;sound&amp;quot;: true,
    &amp;quot;resolution&amp;quot;: {
      &amp;quot;width&amp;quot;: 1920,
      &amp;quot;height&amp;quot;: 1080
    }
  }
}&lt;/pre&gt;
  &lt;p id=&quot;9EQQ&quot;&gt;Эти настройки можно легко прочитать и изменить в программе.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;o6KL&quot;&gt;Работа с JSON в программировании&lt;/h2&gt;
  &lt;p id=&quot;HOvt&quot;&gt;JSON — это просто текст, но чтобы использовать его в коде, нужно:&lt;/p&gt;
  &lt;ol id=&quot;W2sJ&quot;&gt;
    &lt;li id=&quot;gfBC&quot;&gt;&lt;strong&gt;Распарсить&lt;/strong&gt; (parse) JSON в объект или структуру данных языка.&lt;/li&gt;
    &lt;li id=&quot;jlk4&quot;&gt;&lt;strong&gt;Сериализовать&lt;/strong&gt; (stringify) объект обратно в JSON для передачи.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;4hep&quot;&gt;Пример на JavaScript&lt;/h3&gt;
  &lt;pre id=&quot;adzW&quot;&gt;// JSON-строка
const jsonString = &amp;#x27;{&amp;quot;name&amp;quot;: &amp;quot;Алекс&amp;quot;, &amp;quot;age&amp;quot;: 25}&amp;#x27;;

// Парсинг JSON в объект
const user = JSON.parse(jsonString);
console.log(user.name); // Выведет: Алекс

// Создание JSON из объекта
const newUser = { name: &amp;quot;Мария&amp;quot;, age: 30 };
const newJsonString = JSON.stringify(newUser);
console.log(newJsonString); // Выведет: {&amp;quot;name&amp;quot;:&amp;quot;Мария&amp;quot;,&amp;quot;age&amp;quot;:30}&lt;/pre&gt;
  &lt;h3 id=&quot;6ZTk&quot;&gt;Пример на Python&lt;/h3&gt;
  &lt;pre id=&quot;XyYd&quot;&gt;import json

# JSON-строка
json_string = &amp;#x27;{&amp;quot;name&amp;quot;: &amp;quot;Алекс&amp;quot;, &amp;quot;age&amp;quot;: 25}&amp;#x27;

# Парсинг JSON в словарь
user = json.loads(json_string)
print(user[&amp;#x27;name&amp;#x27;])  # Выведет: Алекс

# Создание JSON из словаря
new_user = {&amp;quot;name&amp;quot;: &amp;quot;Мария&amp;quot;, &amp;quot;age&amp;quot;: 30}
new_json_string = json.dumps(new_user)
print(new_json_string)  # Выведет: {&amp;quot;name&amp;quot;: &amp;quot;Мария&amp;quot;, &amp;quot;age&amp;quot;: 30}&lt;/pre&gt;
  &lt;p id=&quot;outG&quot;&gt;Практически все языки программирования имеют встроенные библиотеки для работы с JSON, так что вы легко найдете нужные методы.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;XoZa&quot;&gt;Типичные ошибки и как их избежать&lt;/h2&gt;
  &lt;ol id=&quot;rB5c&quot;&gt;
    &lt;li id=&quot;srjY&quot;&gt;&lt;strong&gt;Неправильный синтаксис&lt;/strong&gt;&lt;br /&gt;Ошибка: забытые кавычки у ключей или лишние запятые.&lt;br /&gt;&lt;strong&gt;Решение&lt;/strong&gt;: используйте редакторы кода с подсветкой синтаксиса (VS Code, PyCharm) или онлайн-валидаторы JSON.&lt;strong&gt;Пример ошибки:&lt;/strong&gt;&lt;code&gt;{ name: &amp;quot;Алекс&amp;quot;, // Ошибка: ключ без кавычек &amp;quot;age&amp;quot;: 25, }&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;mCNc&quot;&gt;&lt;strong&gt;Неправильные типы данных&lt;/strong&gt;&lt;br /&gt;JSON не поддерживает функции, даты или undefined.&lt;br /&gt;&lt;strong&gt;Решение&lt;/strong&gt;: преобразуйте такие данные в строки или числа перед сериализацией.&lt;/li&gt;
    &lt;li id=&quot;ljFl&quot;&gt;&lt;strong&gt;Проблемы с кодировкой&lt;/strong&gt;&lt;br /&gt;Если в JSON есть русские символы, убедитесь, что файл в кодировке UTF-8.&lt;br /&gt;&lt;strong&gt;Решение&lt;/strong&gt;: в Python используйте json.dumps(..., ensure_ascii=False).&lt;/li&gt;
  &lt;/ol&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;1nuW&quot;&gt;Заключение&lt;/h2&gt;
  &lt;p id=&quot;0r0n&quot;&gt;JSON — это мощный и простой инструмент для работы с данными. Он нужен везде: от веб-разработки до мобильных приложений. Освоив JSON, вы сможете:&lt;/p&gt;
  &lt;ul id=&quot;QCdc&quot;&gt;
    &lt;li id=&quot;dofC&quot;&gt;Легко обмениваться данными между клиентом и сервером.&lt;/li&gt;
    &lt;li id=&quot;uBSc&quot;&gt;Создавать читаемые конфигурационные файлы.&lt;/li&gt;
    &lt;li id=&quot;UHFu&quot;&gt;Работать с API и современными базами данных.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;rkh2&quot;&gt;Начните с простых примеров, попробуйте написать свой JSON и разобрать его в коде. Со временем вы увидите, как JSON становится вашим верным помощником в программировании!&lt;/p&gt;
  &lt;p id=&quot;vDKn&quot;&gt;&lt;strong&gt;Где учиться дальше?&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;a5ed&quot;&gt;
    &lt;li id=&quot;17o8&quot;&gt;Практикуйтесь с API (например, бесплатные API вроде OpenWeatherMap).&lt;/li&gt;
    &lt;li id=&quot;kWK3&quot;&gt;Читайте документацию по JSON в вашем языке программирования.&lt;/li&gt;
    &lt;li id=&quot;POF9&quot;&gt;Попробуйте создать небольшой проект, где данные хранятся в JSON.&lt;/li&gt;
    &lt;li id=&quot;eWAR&quot;&gt;Подписывайтесь на &lt;a href=&quot;https://t.me/+Vr5PUz1p2qM0MzEy&quot; target=&quot;_blank&quot;&gt;Bcodder&lt;/a&gt; в Telegram, чтобы узнать больше о кодинге!&lt;/li&gt;
  &lt;/ul&gt;

</content></entry></feed>