Перейти к содержимому
pdftools.kz

Формат JSON

JSON — текстовый формат обмена данными, описанный стандартами ECMA-404 и RFC 8259. Значений в нём шесть видов: объект, массив, строка, число, логическое значение и пустое null. Ни дат, ни комментариев, ни висячих запятых формат не знает — всё это добавляют надстройки поверх него. Оформления в JSON нет вовсе, поэтому напечатать его можно только после того, как вы решили, как данные должны выглядеть.

Локально в браузеребез регистрации

Коротко о цифрах

Стандарты
ECMA-404 и RFC 8259
Типов значений
шесть: объект, массив, строка, число, логическое, null
Кодировка
UTF-8 как основная по стандарту обмена
Предел точности целых
9 007 199 254 740 991
Чего в формате нет
комментариев, дат и висячих запятых
Наши маршруты
ни один не принимает .json — отказ по расширению

Шесть типов и ничего сверх

Дат в JSON нет: то, что выглядит как дата, — обычная строка, и обе стороны просто договорились о её виде, чаще всего по международному стандарту записи. Комментариев тоже нет, поэтому пояснение внутри файла обычно кладут отдельным полем с говорящим именем.

Числа — отдельная ловушка. Разбор почти всегда идёт в двойную точность, а она точно хранит целые до 9 007 199 254 740 991. Идентификатор длиннее этого молча теряет последние разряды: два разных объекта в вашей выгрузке становятся одним и тем же номером. Именно поэтому серьёзные интерфейсы отдают длинные идентификаторы строками, а не числами.

Почему файл «сломан»

  • Запятая после последнего элемента списка — самая частая причина отказа разбора.
  • Одинарные кавычки вместо двойных: в JSON допустимы только двойные.
  • Комментарии, скопированные из примера кода: формат их не предусматривает.
  • Метка порядка байтов в начале файла после сохранения из редактора Windows.
  • Значения вроде бесконечности и «не число», которые допускает язык, но не допускает формат.
  • Файл, где каждая строка — отдельный объект: это построчный формат выгрузки, и целиком он как JSON не читается.

Как получить PDF

  1. Определитесь с видом: таблица со столбцами, карточки записей или простой отступной дамп для чтения.
  2. Превратите данные в HTML: скриптом, шаблоном или импортом в редактор таблиц с последующим сохранением как веб-страницы.
  3. Проверьте, что стили лежат внутри файла, а не рядом с ним.
  4. Загрузите .html к нам и получите PDF на A4 с полями 0,4 дюйма.
  5. Если готовый отчёт нужно приложить к другому документу, сшейте оба файла объединением PDF.

Чего у нас нет

  • Маршрута для .json нет: файл отклоняется по расширению, до конвейера он не доходит.
  • Переименование в .html даст сплошную стену текста — фигурные скобки не являются тегами и структуры не создадут.
  • Мы не проверяем данные на соответствие схеме и не чиним синтаксис: это работа редактора или линтера.
  • Красивый отступной вид тоже делаем не мы — форматирование включается в редакторе одним действием.

Частые вопросы

Чем открыть JSON?

Любым текстовым редактором: формат текстовый и читается глазами. Редактор с подсветкой ещё и расставит отступы, а браузеры показывают такой файл сворачиваемым деревом вместо одной длинной строки.

Почему выгрузка не читается, хотя выглядит правильной?

Чаще всего мешает невидимое: метка порядка байтов в начале файла, лишняя запятая перед закрывающей скобкой или одинарные кавычки. Разбор останавливается на первой ошибке и указывает позицию символа.

Почему длинный идентификатор изменился после обработки?

Число потеряло точность: целые сверх девяти с лишним квадриллионов не помещаются в двойную точность без округления. Передавайте такие значения строками, тогда ни один разбор их не тронет.

Можно ли приложить JSON к договору в виде PDF?

Да, но через промежуточный шаг. Отрисуйте данные в HTML, напечатайте эту разметку нашим конвертером, а полученные страницы присоедините к основному документу объединением файлов.

Рядом