24 converter Единицы · Валюты · Файлы

Преобразовать JSON в YAML JavaScript Object Notation ↔ YAML Ain't Markup Language Бесплатно Онлайн Безопасно

Положите файл JSON и заберите YAML. Чтение и запись происходят здесь, в вашем браузере, поэтому файл не покидает устройство — а что переход сохраняет и чего не может, написано ниже, а не оставлено вам на обнаружение.

Преобразуйте свой файл

Перетащите сюда файл JSON или выберите его.

Ваш файл не покидает это устройство. Всё работает в вашем браузере.

Об этом преобразователе
Что сохраняется Всё, в обе стороны: отображения, списки, строки, числа, булевы значения и null. Повторяющиеся структуры выписываются целиком, а не якорями, поэтому файл читается сверху вниз.
Чего он не может YAML вкладывает смысл в отступы, поэтому глубоко вложенное значение даёт глубоко отбитый файл — читаемый, но не короткий. Длинные строки переносятся около сотой колонки, что меняет места переносов, но не значение. Ключи сохраняют порядок, который был в JSON.
Где он работает В вашем браузере. Ничего не загружается, значит и удалять потом нечего.

Ничего не загружается

Конвертировать из JSON

Конвертировать в JSON

Откуда взялись эти форматы

CSV — самый старый и наименее стандартизованный: таблица, записанная строками текста; в ходу с 1970-х, а описан на бумаге лишь в 2005-м, когда каждая программа уже сама решила, что считать разделителем и когда ставить кавычки. XML вырос из SGML в 1998 году — для документов, которые должны нести строгую структуру и проверяться по схеме. JSON вытащил из JavaScript Дуглас Крокфорд около 2001 года, намеренно сведя его к объектам, спискам, числам и строкам, — и этот аскетизм и есть причина, по которой он завоевал веб. YAML — его читаемый родственник, где отступ делает работу, которую в других местах делают скобки. При переводе между ними важно одно: CSV плоский, это сетка строк и столбцов, тогда как JSON, XML и YAML — деревья.

Где они встречаются

CSV — то, что выгружает электронная таблица и что подают вам бухгалтер, торговая площадка или выписка из банка. JSON — то, на чём говорят веб-службы и на чём всё чаще пишут файлы настроек. XML держится в старых корпоративных системах, в стандартах выставления счетов и внутри самих офисных форматов. YAML — там, где люди пишут настройки руками. Перевод между ними — ежедневная работа по переносу данных оттуда, где они возникли, туда, где они нужны.

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

Мой CSV открылся в Excel одним столбцом. Почему?

Потому что таблица ждала другого разделителя. Excel следует разделителю списков из региональных настроек, а это точка с запятой всюду, где запятая уже служит десятичным знаком, — то есть в большей части континентальной Европы. Файл, разделённый запятыми, тогда выглядит одним текстовым столбцом. Воспользуйтесь окном импорта и укажите разделитель явно, вместо того чтобы открывать файл двойным щелчком. Та же региональная настройка объясняет, почему 3.5 иногда приходит датой.

Почему мой вложенный JSON не становится опрятной таблицей?

Потому что таблица плоская, а JSON — дерево. Строка держит по одному значению на столбец; объект JSON может держать список внутри поля внутри другого списка. Перевод означает выбор, как это расплющить: либо склеить вложенные имена в один длинный заголовок столбца, либо повторить родительскую строку по разу на каждого потомка. И то и другое — уступка, и ни одну нельзя отменить самостоятельно: потому возвращение от таблицы к исходной форме обычно требует человеческого решения.

Теряет ли файл в качестве?

Смотря что способны вместить оба формата. Перевод между форматами, которые хранят одно и то же, — PNG в BMP, WAV в FLAC — не теряет ничего. Перевод в формат, который отбрасывает сведения ради экономии места, вроде JPEG или MP3, каждый раз теряет немного, и обратный перевод их не вернёт. Где есть выбор, эта страница склоняется к сохранению исходного качества, а не к самому маленькому файлу.

Мой файл куда-нибудь отправляется?

Нет. Преобразование происходит внутри вашего браузера, на вашей же машине; файл её не покидает, да и некуда — здесь нет сервера, который мог бы его принять. Потому большой файл ограничен вашей собственной памятью, а не отправкой; и потому ничто из преобразованного вами не может попасть в чьи-либо журналы, в том числе в наши. Средства для звука и видео всё же забирают свой преобразующий механизм с этого сайта при первом обращении — около тридцати мегабайт, один раз; дальше работа по-прежнему идёт целиком на вашей машине.

Почему люди конвертируют JSON в YAML

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

Ситуации повседневные. Разработчик, у которого вывод инструмента в JSON и который хочет превратить его в файл конфигурации. Команда, переносящая настройки из одной системы в другую и предпочитающая читаемый формат. Автор, желающий прочитать структуру ответа API без лишнего шума. Студент, желающий увидеть, как фигурные скобки превращаются в отступы. Во всех случаях данные те же, меняется только нотация.

Эта страница конвертирует JSON в YAML в вашем браузере. Ваш файл читается и записывается здесь, поэтому он никогда не покидает ваше устройство, что важно для файлов конфигурации, которые часто содержат адреса, названия внутренних систем, а порой и секреты. И страница заранее сообщает, что при переходе сохраняется, а что нет, вместо того чтобы оставлять вас открывать это самим. Ниже вы найдёте, как работает конвертация, что происходит с глубокой вложенностью и длинными строками и как получить аккуратный результат.

Как работает конвертация

Одинаковые формы в обеих нотациях

Ваш JSON считывается внутри браузера, а его структура записывается как YAML. В обоих те же формы, и сохраняется всё в обе стороны: словари, списки, строки, числа, булевы значения и null. Объект в JSON становится отображением в YAML, массив — последовательностью, а скалярные значения сохраняют свои типы. Ключ port с числом 8080 даёт port: 8080, а ключ enabled со значением true даёт enabled: true.

Повторяющиеся структуры записываются полностью

В YAML есть способ избегать повторений — якоря и алиасы. Конвертер им не пользуется. Повторяющиеся структуры записываются полностью, а не как якоря, так что файл читается сверху вниз. Это делает YAML немного длиннее, но ничего в нём не нужно искать в другом месте, и любой читатель может понять каждый блок сам по себе.

Ключи сохраняют порядок

Ключи сохраняют порядок, какой был в JSON. YAML читается в той же последовательности, что и источник, поэтому тот, кто знает JSON, сразу найдёт дорогу.

Что сохраняется

Всё, что является данными

Сохраняется всё, в обе стороны: словари, списки, строки, числа, булевы значения и null. Если это было значением в вашем JSON, это значение в YAML с тем же типом.

Строки, нуждающиеся в защите

Некоторые строки в YAML были бы прочитаны неверно, если записать их без кавычек: слово true, число в кавычках, текст с двоеточием. Конвертер заключает такие строки в кавычки, чтобы они возвращались как строки и не превращались в булевы значения или числа. Строка JSON, гласящая «true», остаётся строкой в YAML.

Юникод

Буквы с диакритикой, символы и знаки других алфавитов сохраняются как есть, так что файл на нескольких языках остаётся читаемым.

Что нужно знать, прежде чем конвертировать JSON в YAML

Глубокая вложенность означает глубокие отступы

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

Длинные строки переносятся

Длинные строки переносятся примерно на сотом столбце, что меняет места переносов строк, не меняя значения. Абзац, бывший в JSON одной длинной строкой, появляется в YAML на нескольких строках, но это тот же текст. Программа, читающая YAML, получает исходную строку.

Комментарии нельзя придумать

YAML допускает комментарии, но JSON их не несёт, поэтому в результате их нет. Позже вы можете добавить пояснения вручную, и это одна из главных причин иметь файл в YAML.

Как конвертировать JSON в YAML здесь

Добавьте файл

Перетащите файл JSON на страницу или выберите его на устройстве. Он считывается внутри вашего браузера и не загружается.

Конвертируйте

Нажмите кнопку. Файл обычного размера занимает мгновение. Оставляйте страницу открытой, пока всё не завершится.

Скачайте и проверьте

Скачайте YAML и откройте его в текстовом редакторе. Посмотрите на начало и конец и проверьте, что структура и типы такие, как вы ожидаете.

Подробнее о JSON и YAML

Две нотации для одних данных

JSON задуман так, чтобы программам было легко его читать и писать. YAML задуман так, чтобы его было легко читать людям. Они перекрываются настолько, что JSON почти является подмножеством YAML, и читатель YAML обычно может прочитать JSON. Конвертировать JSON в YAML поэтому — значит не изменить данные, а переодеть их в форму, в которой есть место для заметок и нет шума пунктуации.

Почему с отступами нужна осторожность

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

Читаемый, но не всегда короче

YAML часто описывают как более компактный, чем JSON, потому что он отбрасывает скобки и кавычки вокруг ключей. Для плоских данных это верно. Для глубоко вложенных данных отступы могут сделать его длиннее по символам. Выигрыш — в читаемости, а не в размере.

Типичные ситуации подробно

Превращение вывода инструмента в конфигурацию

Инструменты часто печатают свои настройки или результаты как JSON. Конвертируйте JSON в YAML, добавьте комментарии и сохраните как файл конфигурации, который поддерживают люди.

Перенос настроек между системами

Перенос конфигурации из системы, использующей JSON, в систему, использующую YAML, сводится к одной конвертации с последующей проверкой того, что целевая система принимает ключи.

Чтение ответа API

Ответ API может растянуться на сотни строк скобок. В YAML те же данные читаются как конспект, и структуру видно с одного взгляда.

Обучение и документация

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

Практические советы перед тем, как конвертировать JSON в YAML

Проверьте, что JSON корректен

Лишняя запятая или пропущенная кавычка остановят конвертацию. Если страница сообщает об ошибке, откройте файл в редакторе, подсвечивающем проблемы JSON, и исправьте строку, на которую он указывает.

Упростите там, где можете

Если структура глубже, чем нужно, сначала упростите её. Более плоская структура даёт YAML, который проще читать и править.

Подумайте о потребителе

Посмотрите, что будет читать YAML. Некоторые инструменты ожидают определённых имён ключей и типов, и проще подправить JSON заранее, чем править YAML потом.

Большие файлы

Всё выполняется на вашем устройстве, поэтому очень большому файлу нужна память. Для файлов в много мегабайт используйте компьютер и разделите данные, если страница не справляется.

Вопросы, которые задают перед конвертацией

Изменятся ли мои данные?

Нет. Сохраняется всё, в обе стороны: словари, списки, строки, числа, булевы значения и null.

Почему мои длинные строки разбиты на несколько строк?

Длинные строки переносятся примерно на сотом столбце. Это меняет места переносов строк, не меняя значения.

Почему мой файл так сильно с отступами?

Потому что данные глубоко вложены, а YAML выражает вложенность отступами.

Где якоря?

Повторяющиеся структуры записываются полностью, а не как якоря, так что файл читается сверху вниз.

Загружается ли мой файл?

Нет. Конвертация выполняется в вашем браузере, и файл никогда не покидает ваше устройство.

Можно ли вернуться к JSON?

Да. YAML в JSON читает файл обратно, хотя добавленные вами комментарии не уцелеют.

Разумный выбор при конвертации JSON в YAML

Действительно ли нужен YAML?

Если принимающий инструмент читает JSON, оставьте JSON. Конвертируйте, когда люди должны читать и править файл или когда инструмент требует YAML.

Другие цели

Если назначение — файл разметки, может последовать JSON в XML. Для таблиц JSON в CSV и JSON в XLSX служат электронным таблицам.

Сохраните JSON

JSON — мастер, если он поступает от программы. Сохраните его и пересоздавайте YAML при изменении.

Как добиться хорошего результата после конвертации

Добавьте комментарии

В результате их нет, и именно здесь YAML сияет. Добавьте короткую заметку над каждым блоком, говорящую, что он делает и какие значения допустимы.

Проверьте типы

Посмотрите на такие значения, как версии, коды и флаги. Убедитесь, что они строки там, где вы имели в виду строки, и числа там, где числа.

Сохраняйте отступы последовательными

При редактировании используйте пробелы и держите одну и ту же ширину на каждом уровне. Редактор, показывающий пробельные символы и проверяющий YAML, убережёт от ошибок.

Подготовка JSON для хорошей конвертации

Держите его регулярным

Когда вы конвертируете JSON в YAML, лучше всего конвертируются регулярные данные: единообразные ключи и ясные типы. Нерегулярные данные дают правильный, но неопрятный результат.

Называйте ключи ясно

Люди будут читать YAML, поэтому выбирайте ключи, которые говорят, что они означают. Конфигурацию проще поддерживать, когда названия простые.

Сначала проверьте на небольшом фрагменте

Если ваш файл велик, возьмите раздел в тестовый файл и конвертируйте его. Быстрый взгляд на результат показывает, соответствует ли структура ожиданиям.

Работа с YAML после того, как вы конвертировали JSON в YAML

Добавьте заметки, которых JSON не мог вместить

Первое, что нужно сделать со свежеконвертированным файлом, — прочитать его с начала и добавить комментарии там, где посторонний был бы озадачен. Короткая строка над разделом, говорящая, чем он управляет, стоит больше страницы документации, хранящейся где-то в другом месте, потому что она находится рядом с тем, что описывает. В этом главное преимущество, которое вы получаете, когда конвертируете JSON в YAML.

Сгруппируйте связанные настройки

Ключи сохраняют порядок, какой был в JSON, — возможно, тот, в котором их случайно выдала программа. В YAML вы вольны переставить их так, чтобы связанные настройки стояли вместе, с пустой строкой между группами. Поскольку порядок ключей в отображении для большинства читателей смысла не несёт, это безопасно, но проверьте, не важен ли он используемому вами инструменту.

Проверьте, чего ожидает принимающий инструмент

Корректный файл YAML — не обязательно корректная конфигурация. Инструменты ожидают определённых ключей и типов, а некоторые строги к неизвестным ключам. После конвертации сравните файл с документацией инструмента и запустите его собственную проверку, если она есть.

Используйте систему контроля версий

Конфигурацию в YAML легко сравнивать построчно, что делает её хорошей кандидатурой для системы контроля версий. Зафиксируйте конвертированный файл и пусть коллеги видят каждое изменение как ясное различие, что было намного труднее с одной строкой минифицированного JSON.

Следите за секретами

JSON, экспортированный из инструментов, иногда включает токены и пароли. Поскольку конвертация происходит в вашем браузере, ничто не покидает ваше устройство, но файл YAML будет содержать те же секреты. Удалите их или перенесите в более безопасное место, прежде чем фиксировать или делиться файлом.

Следите за отступами при редактировании

Когда вы начинаете править вручную, главный риск — строка, сдвинутая на один пробел. Используйте редактор, показывающий пробельные символы и проверяющий YAML по мере набора, и держите одну и ту же ширину на каждом уровне, как это делал конвертер.

Конвертируйте снова, когда меняется источник

Если JSON создаётся программой и время от времени меняется, конвертируйте JSON в YAML заново для каждой новой версии и переносите ваши комментарии из старого файла в новый. Инструмент сравнения сводит это к минутам.

Конфиденциальность и обработка

Почему локальная конвертация важна для конфигурации

Файлы конфигурации часто содержат адреса, названия внутренних систем, а порой ключи и пароли. Многие онлайн-конвертеры загружают ваш файл на сервер, обрабатывают его и присылают результат, и некоторое время копия живёт на машине, которую вы не контролируете. Здесь работу выполняет ваш собственный браузер, поэтому файл остаётся на вашем устройстве.

Что происходит, когда вы уходите

Когда вы закрываете страницу, конвертированный файл исчезает из браузера, поэтому сначала скачайте его. Ничего о вашем файле не сохраняется.

Если что-то пошло не так

Страница говорит, что файл не является корректным JSON

Возможно, есть лишняя запятая, пропущенная кавычка или не закрывающаяся скобка. Откройте файл в редакторе, подсвечивающем ошибки JSON, и исправьте строку, на которую он указывает.

Инструмент отклоняет YAML

Проверьте имена ключей и типы, которых он ожидает. YAML корректен, но инструменту могут быть нужны другие имена или другая структура.

Страница зависает с большим файлом

Всё выполняется на вашем устройстве, а большому файлу нужна память. Попробуйте снова на компьютере или разделите данные.

Связанные инструменты

То же семейство инструментов охватывает соседние задачи. Чтобы вернуться, используйте YAML в JSON. Для разметки JSON в XML и XML в JSON конвертируют между этими двумя. Для таблиц есть JSON в CSV, CSV в JSON, JSON в XLSX и XLSX в JSON.

Разобранный пример

Допустим, инструмент печатает свои настройки как файл JSON в 150 строк, а вы хотите хранить их в репозитории как конфигурацию, которую коллеги могут читать и комментировать. Вы перетаскиваете файл сюда и нажимаете кнопку. Через мгновение вы скачиваете YAML примерно в 90 строк, где структура читается как конспект. Вы добавляете комментарий над каждым разделом, фиксируете файл и сообщаете команде, где править. JSON остаётся как вывод инструмента.

Краткий чек-лист

Перед конвертацией

Проверьте, что JSON корректен. Упростите глубокую вложенность, если можете. Сохраните JSON.

Во время конвертации

Оставайтесь на странице, пока файл не будет готов.

После конвертации

Откройте YAML, проверьте структуру и типы, добавьте комментарии и протестируйте с инструментом, который будет его читать.

Типичные ошибки

Ожидание более короткого файла

Глубокая вложенность делает глубокие отступы. YAML читается лучше, но не всегда меньше.

Правка с табуляциями

YAML не допускает табуляцию для отступов. Используйте пробелы.

Потеря источника

Если JSON поступает от программы, сохраните его и пересоздавайте YAML при изменении.

Ваш файл остаётся на вашем устройстве

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

Итог

Чтобы конвертировать JSON в YAML здесь, перетащите файл и нажмите кнопку. Он считывается и записывается в вашем браузере, поэтому файл никогда не покидает ваше устройство. Сохраняется всё, в обе стороны: словари, списки, строки, числа, булевы значения и null. Повторяющиеся структуры записываются полностью, а не как якоря, так что файл читается сверху вниз. YAML вкладывает смысл в отступы, поэтому значение, оказавшееся глубоко вложенным, превращается в файл с глубокими отступами, читаемый, но не короткий. Длинные строки переносятся примерно на сотом столбце, что меняет места переносов строк, не меняя значения. Ключи сохраняют порядок, какой был в JSON.

Длина и площадь Масса и объём Температура Валюты