<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Обновления контента bbdrug.com</title>
  <subtitle>Обновления о спецификациях JSON, запросах, преобразовании, производительности и инструментах</subtitle>
  <id>https://bbdrug.com/ru/feed.xml</id>
  <link rel="self" type="application/atom+xml" href="https://bbdrug.com/ru/feed.xml"/>
  <link rel="alternate" type="text/html" href="https://bbdrug.com/ru"/>
  <updated>2026-11-07T00:00:00Z</updated>
  <author>
    <name>bbdrug.com</name>
    <uri>https://bbdrug.com/ru</uri>
  </author>
  <language>ru</language>
  <generator uri="https://bbdrug.com/">bbdrug.com feed generator</generator>
  <entry>
    <title>Большой JSON не открывается: как выбрать инструмент по размеру</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/performance/open-large-json-files"/>
    <id>https://bbdrug.com/ru/performance/open-large-json-files</id>
    <published>2026-11-07T00:00:00Z</published>
    <updated>2026-11-07T00:00:00Z</updated>
    <category term="performance" label="Производительность и безопасность"/>
    <summary type="text">JSON-выгрузки в десятки мегабайт часто подвешивают текстовые редакторы и онлайн-инструменты, хотя сам парсинг занимает сотни миллисекунд. Мы измерили время и память на каждом этапе на выборке 45 МБ и 500 000 записей, показали, что реальная стоимость — это количество строк и узлов, и составили таблицу выбора инструментов по размеру файла: онлайн-просмотр, командная строка, потоковая обработка и десктопное приложение.</summary>
  </entry>
  <entry>
    <title>Практика работы с JSONL-файлами: открытие, конвертация и поиск повреждённых строк</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/formats/jsonl-file-handbook"/>
    <id>https://bbdrug.com/ru/formats/jsonl-file-handbook</id>
    <published>2026-11-06T00:00:00Z</published>
    <updated>2026-11-06T00:00:00Z</updated>
    <category term="formats" label="Расширенные форматы и диалекты"/>
    <summary type="text">Если весь .jsonl-файл отдать JSON.parse или json.load и получить ошибку — почти всегда виноват не файл, а способ чтения. В статье: стандартные паттерны проверки и построчного чтения, команды взаимного преобразования с JSON-массивом, таблица шести типов битых строк и корректное потребление NDJSON из потокового HTTP-ответа.</summary>
  </entry>
  <entry>
    <title>Тестирование JSON Schema как контракта: встроите правила валидации в CI</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/schema/json-schema-contract-testing"/>
    <id>https://bbdrug.com/ru/schema/json-schema-contract-testing</id>
    <published>2026-11-05T00:00:00Z</published>
    <updated>2026-11-05T00:00:00Z</updated>
    <category term="schema" label="Schema и валидация"/>
    <summary type="text">Схема не заканчивается написанием — именно с неё начинается деградация. Одна опечатка тихо ослабляет валидацию, один рефакторинг ломает все фикстуры. Здесь разобран рабочий набор контрактного тестирования: позитивные, негативные и снапшот-фикстуры, линт самой схемы, однократная компиляция с повторным использованием и четыре ворот CI, превращающих поломку контракта в красную сборку.</summary>
  </entry>
  <entry>
    <title>JSON в CSV: откуда берётся заголовок и почему меняются значения</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/conversion/json-to-csv-columns"/>
    <id>https://bbdrug.com/ru/conversion/json-to-csv-columns</id>
    <published>2026-11-04T00:00:00Z</published>
    <updated>2026-11-04T00:00:00Z</updated>
    <category term="conversion" label="Преобразование форматов"/>
    <summary type="text">Девять экспериментов на реальном конвертере: стратегия «ключи первой строки» молча теряет поля, null, отсутствие и пустая строка превращаются в одинаковые пустые ячейки, 20-значное целое теряет точность уже на JSON.parse, а точка в ключе сталкивает два разных пути в одной колонке. Как строится заголовок, какие значения искажаются и как выбрать стратегию по назначению данных ниже по потоку.</summary>
  </entry>
  <entry>
    <title>JSON в Java-класс: генератор даёт каркас, для продакшена нужно ещё пять вещей</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/conversion/json-to-java-pojo"/>
    <id>https://bbdrug.com/ru/conversion/json-to-java-pojo</id>
    <published>2026-11-04T00:00:00Z</published>
    <updated>2026-11-04T00:00:00Z</updated>
    <category term="conversion" label="Преобразование форматов"/>
    <summary type="text">Практический замер того, что реально отдаёт генератор JSON → Java——числа становятся Double, вложенные объекты — статическими внутренними классами, и ни одной аннотации Jackson. Точность денег, переименование полей, стирание генериков, неизвестные поля и даты — пять вещей, которые придётся добавить руками, с кодом, готовым к копированию.</summary>
  </entry>
  <entry>
    <title>JSON в TypeScript: интерфейсы, type guards и пределы генерации</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/conversion/json-to-typescript-interface"/>
    <id>https://bbdrug.com/ru/conversion/json-to-typescript-interface</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-11-04T00:00:00Z</updated>
    <category term="conversion" label="Преобразование форматов"/>
    <summary type="text">Генерация интерфейса по примеру JSON — половина работы: необязательные поля, null, объединения, даты и большие целые требуют ручной правки, а типы не дают валидации во время выполнения.</summary>
  </entry>
  <entry>
    <title>Почему большие целые теряют точность</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/json-bigint-precision"/>
    <id>https://bbdrug.com/ru/faq/json-bigint-precision</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-11-04T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">Целые выше 2^53-1 теряют точность в JSON.parse. Snowflake ID, номера заказов и bigint из базы данных все с этим сталкиваются, поэтому храните их как строки от начала до конца.</summary>
  </entry>
  <entry>
    <title>Справочник сообщений об ошибках JSON: от текста ошибки к исправлению</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/basics/json-error-message-lookup"/>
    <id>https://bbdrug.com/ru/basics/json-error-message-lookup</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-11-04T00:00:00Z</updated>
    <category term="basics" label="Основы JSON и спецификация"/>
    <summary type="text">Найдите причину по точному сообщению JSON.parse: 12 частых ошибок в Chrome, Firefox и Safari, включая HTML-страницы ошибок, обрыв данных и двойной разбор.</summary>
  </entry>
  <entry>
    <title>Один и тот же JSON — четыре инструмента, четыре результата: как выбрать форматтер</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/ecosystem/json-formatter-tool-comparison"/>
    <id>https://bbdrug.com/ru/ecosystem/json-formatter-tool-comparison</id>
    <published>2026-11-03T00:00:00Z</published>
    <updated>2026-11-03T00:00:00Z</updated>
    <category term="ecosystem" label="Инструменты и экосистема"/>
    <summary type="text">Форматирование не бывает без потерь. Один и тот же JSON с ведущим нулём, BOM или 20-значным целым по-разному обрабатывают Python, Node, jq и json.tool: одни сообщают об ошибке, другие молча меняют значение. Десять собственных тестов на четырёх путях дают таблицу выбора и готовый скрипт строгой проверки.</summary>
  </entry>
  <entry>
    <title>JSON в YAML из командной строки: четыре ловушки одной команды yq</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/conversion/json-to-yaml-cli"/>
    <id>https://bbdrug.com/ru/conversion/json-to-yaml-cli</id>
    <published>2026-11-03T00:00:00Z</published>
    <updated>2026-11-03T00:00:00Z</updated>
    <category term="conversion" label="Преобразование форматов"/>
    <summary type="text">Самая копируемая команда из учебников, yq -P input.json &gt; output.yaml, на yq v4 всё равно выдаёт JSON. В статье на выборке 2.39 MB замерены yq v4.44.6, PyYAML 6.0.3 и js-yaml, объясняется, почему формат вывода определяет расширение входа, и даются верные рецепты пакетного преобразования, кавычек, отступов и точности больших целых чисел.</summary>
  </entry>
  <entry>
    <title>Без additionalProperties валидация схемы ничего не проверяет</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/schema/schema-additional-properties"/>
    <id>https://bbdrug.com/ru/schema/schema-additional-properties</id>
    <published>2026-11-02T00:00:00Z</published>
    <updated>2026-11-02T00:00:00Z</updated>
    <category term="schema" label="Schema и валидация"/>
    <summary type="text">Успешная валидация не значит чистые данные. Pydantic по умолчанию игнорирует неизвестные поля, Zod их отбрасывает, Ajv пропускает — выдуманные параметры и опечатки проходят тихо. Статья показывает три формы молчаливого принятия и даёт полные рецепты: закрывать объекты, контролировать приведение типов, подтягивать каждый уровень вложенности.</summary>
  </entry>
  <entry>
    <title>Отладка минифицированного JSON: от строки 1, столбца 23611 до точного сломанного байта</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/basics/minified-json-error-position"/>
    <id>https://bbdrug.com/ru/basics/minified-json-error-position</id>
    <published>2026-11-01T00:00:00Z</published>
    <updated>2026-11-01T00:00:00Z</updated>
    <category term="basics" label="Основы JSON и спецификация"/>
    <summary type="text">Минифицированный JSON-файл на 4 МБ в одну строку сообщает «строка 1, столбец 23611», что ничего не говорит. На локально измеренных примерах разбираем, почему Python, Node и jq дают три разных числа, как смещение символа приводит прямо к сломанному байту и какие три ловушки тихо портят данные после исправления синтаксиса.</summary>
  </entry>
  <entry>
    <title>Как исправить ошибки разбора JSON: пошаговая проверка Unexpected token</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/basics/json-parse-error-fix"/>
    <id>https://bbdrug.com/ru/basics/json-parse-error-fix</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-11-01T00:00:00Z</updated>
    <category term="basics" label="Основы JSON и спецификация"/>
    <summary type="text">Превратите ошибку JSON.parse в номер строки и символа, а затем исключите шесть причин: завершающие запятые, одинарные кавычки, комментарии, управляющие символы, BOM и обрыв данных.</summary>
  </entry>
  <entry>
    <title>JMESPath для начинающих: проекционные запросы, превосходящие JSONPath</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/query/jmespath-guide"/>
    <id>https://bbdrug.com/ru/query/jmespath-guide</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="query" label="Запросы и инкрементальное изменение"/>
    <summary type="text">JMESPath переформирует пакеты объектов прямее, чем JSONPath. Это руководство для начинающих охватывает синтаксис, проекции, конвейеры, встроенные функции и использование в AWS CLI.</summary>
  </entry>
  <entry>
    <title>Двоичный JSON: выбор между MessagePack, CBOR и BSON</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/formats/json-binary-formats"/>
    <id>https://bbdrug.com/ru/formats/json-binary-formats</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="formats" label="Расширенные форматы и диалекты"/>
    <summary type="text">MessagePack, CBOR и BSON сжимают JSON в байты. Сравните байтовую стоимость, обработку int64 и двоичных данных и получите чёткую границу, когда переключение того стоит.</summary>
  </entry>
  <entry>
    <title>Выбор инструмента JSON diff: текстовый diff, структурный diff и визуализация</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/ecosystem/json-diff-tools"/>
    <id>https://bbdrug.com/ru/ecosystem/json-diff-tools</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="ecosystem" label="Инструменты и экосистема"/>
    <summary type="text">Текстовый diff находит, где файлы различаются; структурный diff решает, эквивалентно ли содержимое. Правильный выбор слоя не даёт спутать порядок ключей с инцидентом.</summary>
  </entry>
  <entry>
    <title>Валидация JSON в CI: конвейер с jsonlint, ajv и jq</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/ecosystem/json-lint-and-validate-cli"/>
    <id>https://bbdrug.com/ru/ecosystem/json-lint-and-validate-cli</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="ecosystem" label="Инструменты и экосистема"/>
    <summary type="text">Проверка синтаксиса доказывает, что файл разбирается; проверка схемы доказывает, что поля следуют контракту. В CI важны однозначные коды выхода, места ошибок и пути исправления.</summary>
  </entry>
  <entry>
    <title>Реестр памяти JSON: сколько реально стоят строки, объекты и большие массивы</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/performance/json-memory-footprint"/>
    <id>https://bbdrug.com/ru/performance/json-memory-footprint</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="performance" label="Производительность и безопасность"/>
    <summary type="text">JSON-файл в 10 МБ может стать 30–50 МБ в куче V8. Узнайте, сколько реально стоят строки, объекты и числа, как снять базовый уровень через process.memoryUsage и когда помогает потоковая обработка.</summary>
  </entry>
  <entry>
    <title>Прекратите сжимать JSON в неправильном порядке: minify vs gzip vs brotli, измеренные</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/performance/json-minify-vs-gzip"/>
    <id>https://bbdrug.com/ru/performance/json-minify-vs-gzip</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="performance" label="Производительность и безопасность"/>
    <summary type="text">Минификация срезает 30–50% с сырого JSON, но gzip стирает большую часть этой выгоды. Измеренные числа по реальным формам, плюс четыре случая, когда минификация делает хуже.</summary>
  </entry>
  <entry>
    <title>JSON Patch в продакшене: атомарность, идемпотентность и конкурентные конфликты</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/query/json-patch-safety"/>
    <id>https://bbdrug.com/ru/query/json-patch-safety</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="query" label="Запросы и инкрементальное изменение"/>
    <summary type="text">JSON Patch — только формат изменения; атомарность, идемпотентность и параллелизм всё ещё на вас. Рассматривает предварительные условия test, экранирование путей, откат и координацию ETag.</summary>
  </entry>
  <entry>
    <title>Почему большие деревья JSON подвисают: виртуальная прокрутка и стратегии свёртывания</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/performance/json-render-virtualization"/>
    <id>https://bbdrug.com/ru/performance/json-render-virtualization</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="performance" label="Производительность и безопасность"/>
    <summary type="text">Подвисание начинается при создании узлов DOM, а не при прокрутке. Рассматривает отрисовку со свёрнутостью по умолчанию, виртуальные списки, подсветку поиска и границы Worker, с метриками.</summary>
  </entry>
  <entry>
    <title>Когда ошибки JSON Schema не имеют смысла: локализация ошибок Ajv и управление сообщениями</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/schema/json-schema-error-messages"/>
    <id>https://bbdrug.com/ru/schema/json-schema-error-messages</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="schema" label="Schema и валидация"/>
    <summary type="text">Валидатор выдаёт машинные ошибки; пользователи хотят знать, какое поле неверно. Рассматривает массив errors Ajv, instancePath против schemaPath, группировку и формулировки.</summary>
  </entry>
  <entry>
    <title>Переиспользование JSON Schema: $ref, $defs и композиция allOf/oneOf</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/schema/json-schema-ref-composition"/>
    <id>https://bbdrug.com/ru/schema/json-schema-ref-composition</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="schema" label="Schema и валидация"/>
    <summary type="text">$ref решает переиспользование, allOf и oneOf решают композицию, и именно их наложение ломает всё. Рассматривает $id, $defs, условия, рекурсию, объединение и отладку.</summary>
  </entry>
  <entry>
    <title>Последовательности текста JSON (RFC 7464): потоковый JSON с разделителем RS</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/formats/json-seq-rfc7464"/>
    <id>https://bbdrug.com/ru/formats/json-seq-rfc7464</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="formats" label="Расширенные форматы и диалекты"/>
    <summary type="text">RFC 7464 использует разделитель 0x1E для потоковой передачи текстов JSON, которые можно читать и писать сразу. Рассматривает правила, отличие от NDJSON и реализацию «разделить, затем разобрать».</summary>
  </entry>
  <entry>
    <title>JSON в SQL: INSERT-запросы, проектирование таблиц и ловушки отображения типов</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/conversion/json-to-sql-insert"/>
    <id>https://bbdrug.com/ru/conversion/json-to-sql-insert</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="conversion" label="Преобразование форматов"/>
    <summary type="text">Превращение JSON в SQL INSERT скрывает разбиение на вложенные таблицы, NULL против отсутствия, экранирование и различия диалектов. Готовые к запуску запросы и сравнительные таблицы для каждой ловушки.</summary>
  </entry>
  <entry>
    <title>JSON, TOML, YAML или CSON: выбор формата конфигурации</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/formats/json-toml-config-formats"/>
    <id>https://bbdrug.com/ru/formats/json-toml-config-formats</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="formats" label="Расширенные форматы и диалекты"/>
    <summary type="text">Конфигурационным файлам нужны комментарии, даты и многострочный текст — вот где JSON не справляется. Сравните JSON, TOML, YAML и CSON и посмотрите, что конвертация всегда теряет.</summary>
  </entry>
  <entry>
    <title>Версионирование контрактов JSON: совместимость, устаревание и миграция данных</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/practice/json-versioning-and-migration"/>
    <id>https://bbdrug.com/ru/practice/json-versioning-and-migration</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="practice" label="Инженерная практика"/>
    <summary type="text">Добавление поля не автоматически безопасно. Рассматривает границы совместимости, поля версии, окна устаревания, миграцию с двойной записью, контрактные тесты и метрики канареечного развёртывания.</summary>
  </entry>
  <entry>
    <title>Инструменты визуализации JSON: дерево, свёртывание и компромиссы больших данных</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/ecosystem/json-visualization-tools"/>
    <id>https://bbdrug.com/ru/ecosystem/json-visualization-tools</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="ecosystem" label="Инструменты и экосистема"/>
    <summary type="text">Инструменты визуализации превращают JSON в сворачиваемое дерево. Отрисовка дерева, производительность на больших файлах и приватность определяют, для чего каждый хорош, поэтому начинайте с того, где живут данные.</summary>
  </entry>
  <entry>
    <title>Фильтры JSONPath в глубину: рекурсия, срезы и совпадение по нескольким условиям</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/query/jsonpath-filter-advanced"/>
    <id>https://bbdrug.com/ru/query/jsonpath-filter-advanced</id>
    <published>2026-10-31T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="query" label="Запросы и инкрементальное изменение"/>
    <summary type="text">Рекурсивный спуск, срезы и фильтры по нескольким условиям — вот где JSONPath становится мощным и неправильно используемым. Рассматривает семантику фильтров, формы результатов и различия библиотек.</summary>
  </entry>
  <entry>
    <title>Парсинг, отрисовка и потоковая обработка большого JSON</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/performance/large-json-performance"/>
    <id>https://bbdrug.com/ru/performance/large-json-performance</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-31T00:00:00Z</updated>
    <category term="performance" label="Производительность и безопасность"/>
    <summary type="text">Парсинг часто не является узким местом; отрисовка и копирование являются. Оптимизируйте по четырём слоям «парсинг → обход → отрисовка → передача», чтобы ваши усилия не были потрачены впустую.</summary>
  </entry>
  <entry>
    <title>Вопросы о производительности и безопасности: медленно, подвисает и недоверенные данные</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/faq-performance-security"/>
    <id>https://bbdrug.com/ru/faq/faq-performance-security</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">Почему JSON-файл в десятки мегабайт не открывается, насколько дорого глубокое клонирование, как предотвратить загрязнение __proto__ и откуда проникает XSS — десять выводов первой помощи, упорядоченных по симптому.</summary>
  </entry>
  <entry>
    <title>Вопросы о запросах и валидации: JSONPath и Schema</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/faq-query-and-schema"/>
    <id>https://bbdrug.com/ru/faq/faq-query-and-schema</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">Использовать для запросов по пути JSONPath или Pointer, как выбрать между Patch и Merge Patch, что способна блокировать Schema и как выбрать версию драфта — всё объясняется за один проход.</summary>
  </entry>
  <entry>
    <title>Вопросы о синтаксисе и форматах: комментарии, висячие запятые и точность</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/faq-syntax-formats"/>
    <id>https://bbdrug.com/ru/faq/faq-syntax-formats</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">Разрешены ли комментарии, почему висячая запятая даёт ошибку, нужно ли брать ключи в кавычки, почему 9007199254740993 меняется — двенадцать выводов, каждый проверен по RFC 8259.</summary>
  </entry>
  <entry>
    <title>Вопросы об использовании инструментов: данные, файлы и экспорт</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/faq-tool-usage"/>
    <id>https://bbdrug.com/ru/faq/faq-tool-usage</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">Загружаются ли данные, какой размер файла работает, сохраняется ли что-то локально, почему китайский превращается в escape-последовательности: десять вопросов, разъясняющих реальные границы онлайн-инструмента JSON.</summary>
  </entry>
  <entry>
    <title>Вопросы о командной работе: контракты, конфигурация и фикстуры</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/faq-workflow"/>
    <id>https://bbdrug.com/ru/faq/faq-workflow</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">Стиль именования, форматы времени, семантика null, формы перечислений, форматы конфигураций, организация фикстур и конфликты слияния — двенадцать компромиссов, о которых команды действительно спорят.</summary>
  </entry>
  <entry>
    <title>Ключевые моменты проектирования контрактов данных JSON API</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/practice/json-api-design"/>
    <id>https://bbdrug.com/ru/practice/json-api-design</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="practice" label="Инженерная практика"/>
    <summary type="text">Шесть вещей очень трудно изменить после выпуска: оболочки ответов, форматы ошибок, форма пагинации, представление ID и времени, семантика null против отсутствия и эволюция версий.</summary>
  </entry>
  <entry>
    <title>Какую структуру должен использовать ответ API</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/json-api-response-structure"/>
    <id>https://bbdrug.com/ru/faq/json-api-response-structure</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">Голые объекты чисты, пока не нужны метаданные; полные оболочки безопасны, но многословны. Для большинства проектов используйте HTTP-статус для результата и стабильную оболочку для данных.</summary>
  </entry>
  <entry>
    <title>Ломает ли BOM парсинг JSON</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/json-bom"/>
    <id>https://bbdrug.com/ru/faq/json-bom</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">UTF-8 BOM — это три невидимых байта, поэтому JSON.parse падает на первом символе и сообщает строку 1, столбец 1, из-за чего файл кажется пустым или усечённым.</summary>
  </entry>
  <entry>
    <title>Почему китайский превращается в \u4e2d\u6587</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/json-chinese-unicode-escape"/>
    <id>https://bbdrug.com/ru/faq/json-chinese-unicode-escape</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">Escape-последовательность \u4e2d\u6587 — это легитимный Unicode, а не сбой кодировки. Настоящее искажение выглядит иначе, и различение решает, что именно нужно исправлять.</summary>
  </entry>
  <entry>
    <title>Может ли JSON содержать комментарии</title>
    <link rel="alternate" type="text/html" href="https://bbdrug.com/ru/faq/json-comment"/>
    <id>https://bbdrug.com/ru/faq/json-comment</id>
    <published>2026-10-30T00:00:00Z</published>
    <updated>2026-10-30T00:00:00Z</updated>
    <category term="faq" label="Часто задаваемые вопросы"/>
    <summary type="text">В RFC 8259 нет синтаксиса комментариев, поэтому // и блочные комментарии заставляют JSON.parse выбрасывать ошибку. Используйте JSON5 или JSONC, поле _comment, описание Schema или YAML.</summary>
  </entry>
</feed>
