Чим відрізняється YAML від JSON?


735

Які відмінності між YAML та JSON, зокрема, враховуючи наступні речі?

  • Продуктивність (час кодування / декодування)
  • Споживання пам'яті
  • Чіткість вираження
  • Доступність бібліотеки, простота використання (я віддаю перевагу C)

Я планував використовувати один із цих двох у нашій вбудованій системі для зберігання файлів налаштування.

Пов'язані:

Чи варто використовувати YAML або JSON для зберігання даних Perl?


26
Будьте в курсі, що JSON можна вважати підмножиною YAML: en.wikipedia.org/wiki/JSON#YAML
Чарльз

2
@Charles, так, але вони мають деяку тонку різницю: ajaxian.com/archives/json-yaml-its-getting-closer-to-truth
pierrotlefou

1
Оскільки YAML (приблизно) сукупність JSON, на питання про продуктивність не можна відповісти без припущень про те, чи будете ви використовувати цю виразність. Якщо вам це не потрібно: наскільки швидко проходять YAML-парсери при читанні JSON? Якщо вам це потрібно: наскільки повільніше парсери JSON, якщо ви допускаєте можливе довше представлення JSON тієї ж ідеї?
poolie

@jokoon Я здогадуюсь, "я вважаю за краще бібліотеку С" (наприклад, libyaml)
1313

4
Документи YAML можуть бути складними та важко читатими. Можлива атака "мільярд сміху" з YAML. З іншого боку, складні об'єкти, графіки та інші структури можуть ефективно серіалізуватися в YAML. Для форматів обміну та простих структур перевагу надає JSON. Для складної серіалізації об'єктів або для граматичних визначень може бути кращим YAML.
Ерік Аронесті

Відповіді:


656

Технічно YAML - це суперсеть JSON. Це означає, що, принаймні, теоретично аналізатор YAML може зрозуміти JSON, але не обов'язково навпаки.

Дивіться офіційні характеристики у розділі "YAML: відношення до JSON" .

Взагалі, є деякі речі, які мені подобаються в YAML, які недоступні в JSON.

  • Як вказував @jdupont , YAML візуально легше розглядати. Насправді домашня сторінка YAML сама по собі є дійсною YAML, але людині її легко читати.
  • YAML має можливість посилатися на інші елементи у файлі YAML за допомогою "якорів". Таким чином, він може обробляти реляційну інформацію, яку можна знайти в базі даних MySQL.
  • YAML є більш надійним щодо вбудовування інших форматів серіалізації, таких як JSON або XML, у файл YAML.

На практиці жоден з цих двох останніх пунктів, мабуть, не матиме значення для речей, які ви чи я робите, але в перспективі, я думаю, YAML буде більш надійним і життєздатним форматом серіалізації даних.

Зараз AJAX та інші веб-технології, як правило, використовують JSON. В даний час YAML використовується більше для автономних процесів передачі даних. Наприклад, він за замовчуванням включений в C-пакет з комп'ютерним зором OpenCV, тоді як JSON - ні.

Ви знайдете бібліотеки С як для JSON, так і для YAML. Бібліотеки YAML, як правило, новіші, але я з ними раніше не мав проблем. Див., Наприклад, Yaml-cpp .


199
json - це не підмножина (хоча вона близька), і несумісність надихає, коли ви їх сприяєте. Бібліотеки json, як правило, швидші ... ( stackoverflow.com/questions/2451732/… ). прихильники ямлу наполягають, що це підмножина. якщо читабельність викликає занепокоєння, використовуйте ямл. якщо інтероперабельність та швидкість викликають занепокоєння, використовуйте JSON.
Ерік Аронесті

6
YAML - це супернабір певної форми синтаксису JSON. Тобто, якщо ви використовуєте JSON способом, сумісним з YAML, то це належний підмножина. Як pierr прокоментував вище, характеристики [[спрямовані на сумісність] (ajaxian.com/archives/json-yaml-its-getting-closer-to-truth).
naught101

120
Також YAML підтримує коментарі, що зручно.
День

59
@ErikAronesty JSON був близьким до підмножини YAML 1.1, але оскільки YAML 1.2 тепер це справжній підмножина. YAML 1.2 в основному був випущений, щоб виправити останні кілька несумісностей між двома специфікаціями.
00прометей

64
З специфікації YAML 1.2 : "Основна мета цього перегляду - привести YAML у відповідність до JSON як офіційного підмножини."
Rich C

203

Відмінності:

  1. YAML, залежно від того, яким чином ви користуєтесь, може бути читабельніше, ніж JSON
  2. JSON часто швидший і, ймовірно, все ще сумісний з більшою кількістю систем
  3. Можна дуже швидко написати «досить хороший» аналізатор JSON
  4. Дублікатори ключів, які є потенційно дійсними JSON, безумовно, недійсні YAML.
  5. YAML має безліч функцій, включаючи коментарі та реляційні анкери. Синтаксис YAML є досить складним, і його важко зрозуміти.
  6. Можна записати рекурсивні структури в yaml:, {a: &b [*b]}які будуть нескінченно циклічні в деяких перетворювачах. Навіть при круговому виявленні "ямбова бомба" все ще можлива (див. Xml бомба ).
  7. Оскільки немає посилань, неможливо серіалізувати складні структури з посиланнями на об'єкти в JSON. Отже, серіалізація YAML може бути більш ефективною.
  8. У деяких середовищах кодування використання YAML може дозволити зловмиснику виконувати довільний код .

Спостереження:

  1. Програмісти Python, як правило, є великими шанувальниками YAML, оскільки для позначення рівнів використовують відступ, а не скоплений синтаксис.
  2. Багато програмістів вважають прихильність "сенсу" до відступу поганим вибором.
  3. Якщо формат даних залишатиме середовище програми, розбирається в інтерфейсі або надсилається в шарі обміну повідомленнями, JSON може бути кращим вибором.
  4. YAML може використовуватися безпосередньо для складних завдань, таких як визначення граматики, і часто є кращим вибором, ніж винаходити нову мову.

9
Це є. Вся мета Yaml 1.2 полягала у вирішенні кількох відмінностей сумісності, щоб зробити JSON суворим підмножиною. Якщо ви вважаєте, що специфікація не досягла своєї мети, Ерік, будь ласка, вкажіть приклад десь дійсного JSON, який порушує специфікацію YAML та / або порушує перевірений 1,2-сумісний парсер YAML.
SFEley

32
@SFEley YAML Spec говорить, що є потенційно дійсні файли JSON, які були б недійсними YAML. Але в реальному використанні це мало ймовірно. "RFC4627 JSON вимагає, щоб ключі відображення були просто" ОБОВ'ЯЗКОВІ ", тоді як YAML наполягає на тому, що вони" ОБОВ'ЯЗКОВІ ". Технічно YAML відповідає вимогам JSON, вибираючи трактувати дублікати як помилку. На практиці, оскільки JSON мовчить семантика таких дублікатів, єдиними портативними файлами JSON є файли з унікальними ключами, які є дійсними файлами YAML. " - yaml.org/spec/1.2/spec.html#id2759572
David C. Bishop

9
Коментувати використання відступу; ну, я вважаю, що це може зажадати звикнути, і не всім це сподобається. Наприклад, я .NET хлопець. Я переглядав файл travis.yml і цікавився, чому виникла проблема. Я дізнався, що у мене є вкладка, де його не бути. Не всі звикли до того, що вибухає через переваги місця / вкладки / нових рядків.
Філ

10
Вкладки просто не дозволяються взагалі як відступи. IMHO, це хороший стиль кодування на всіх мовах - з синтаксичним відступом або без нього.
00прометей

6
@Wyrmwood мені особисто подобаються python та YAML і буквально їх використовую щодня. Я схильний використовувати YAML для речей, які люди мають часто редагувати, а JSON - для речей, на які люди "можуть" потребувати перегляду. Я піддався валідній критиці з боку розробників C ++, які вважають відступ заплутаним .... особливо, якщо є кілька рівнів або довші функціональні блоки. Звичайно ... хороший тестований код не має цих речей, тому зазвичай це не проблема. Це моє особисте спостереження, але будь-який випадковий пошук в Google дасть багато результатів ....
Ерік Аронесті

88

Оминаючи теорію езотерики

Це відповідає заголовку, а не деталі, оскільки більшість просто читає заголовок з результату пошуку в Google, як я, тому я вважав, що потрібно пояснити з точки зору веб-розробника .

  1. YAML використовує космічні відступи, що є звичною територією для розробників Python.
  2. Розробники JavaScript люблять JSON, тому що це підмножина JavaScript і може бути безпосередньо інтерпретована та записана всередині JavaScript, а також використовувати скорочений спосіб декларації JSON, не вимагаючи подвійних лапок в ключах при використанні типових імен змінних без пробілів.
  3. Є безліч парсерів, які дуже добре працюють на всіх мовах як для YAML, так і для JSON.
  4. Космічний формат YAML в багатьох випадках може бути набагато простішим, тому що для форматування потрібен більш зрозумілий для людини підхід.
  5. Форма YAML, будучи більш компактною та легшою для перегляду, може бути оманливо складною для редагування, якщо у вашому редакторі відсутнє форматування місця. Вкладки не є пробілами, щоб додатково плутати, якщо у вас немає редактора для інтерпретації ваших натискань клавіш на пробіли.
  6. JSON набагато швидше серіалізувати та десеріалізувати через значно менше функцій, ніж YAML для перевірки, що дозволяє меншим та легшим кодом обробляти JSON.
  7. Поширене неправильне уявлення про те , що YAML потребує менших знаків пунктуації та більш компактний, ніж JSON, але це абсолютно помилково. Пробіл невидимий, тому здається, що символів менше, але якщо ви порахуєте фактичний пробіл, який необхідний для того, щоб YAML була правильно інтерпретована разом із належним відступом, ви побачите, що YAML насправді вимагає більше символів, ніж JSON. JSON не використовує пробіл для представлення ієрархії чи групування, і його можна легко сплющити з непотрібним пробілом, видаленим для більш компактного транспорту.

Слон в кімнаті: Сам Інтернет

JavaScript настільки чітко домінує в Інтернеті з величезним запасом, і розробники JavaScript вважають за краще використовувати JSON як формат даних переважно разом з популярними веб-API, тому важко сперечатися з використанням YAML над JSON, коли ви робите веб-програмування в загальному сенсі, оскільки вам, швидше за все, це буде вигідне в командному середовищі. Насправді, більшість веб-програмістів навіть не знають, що існує YAML, не кажучи вже про його використання.

Якщо ви займаєтесь будь-яким веб-програмуванням, JSON - це за замовчуванням шлях, оскільки не потрібно робити жодного кроку перекладу під час роботи з JavaScript, тож вам слід придумати кращий аргумент, щоб використовувати YAML через JSON у такому випадку.


10
Я не згоден, що розробники python віддають перевагу YAML. Диктон пітонів в основному JSON, список диктів також в основному JSON. Python має вбудовану в json lib. Зі сторони, я розробник python, і я віддаю перевагу JSON (більшість розробників python, яких я знаю, віддають перевагу JSON).
карантан

6
Єдине, що насправді турбує мене про пробіл, - це те, як легко заплутатися і зрозуміти це неправильно, оскільки відступ над цим чи ні може означати його вкладення або на тому ж рівні, а також дуже легко виправити це, якщо ви цього не зробите мати правило керівництва. це як приховані ой, це насправді не такий простий сценарій, про який ніхто не говорить під час редагування yaml. ніколи не було такої проблеми з json.
Джейсон Себрінг

6
@JasonSebring. Ви майже здивувались, чому YAML пішов з пробілами. Моє перше «занурення в океан» YAML призвело до поломки програми ... все через пробіли. Ви могли б подумати, що, можливо, використання відступу та використання символів, що не друкуються, матиме набагато більше сенсу! (Тобто, чому на землі вони не вибрали ".", А не ""?) Щоб зрозуміти YAML, вам потрібно перейти до специфікацій. Щоб зрозуміти JSON цього не потрібно. (Я був у першому, і ніколи не в останньому). Це для мене вказує на формат, який насправді не є "читабельним для людини"
cmroanirgo

7
@cmroanirgo да, це був мій досвід. Мій бос змусив нас використовувати YAML через JSON, і це зробило непотрібні речі для редагування та проковтування. Я написав це через те, що сподівання, що голоси виправдають мене.
Джейсон Себрінг

3
Проблема з вкладками в YAML означає (а) не читання повідомлення про помилку та (б) наявність редактора, який не виділяє вкладки. Обидві проблеми легко виправити, тому я не розумію скарг.
toolforger

38

Це питання 6 років, але, як не дивно, жодна з відповідей насправді не стосується всіх чотирьох моментів (швидкість, пам'ять, виразність, портативність).

Швидкість

Очевидно, це залежить від впровадження, але оскільки JSON настільки широко використовується і настільки простий у реалізації, він, як правило, отримує більшу підтримку, а отже, і швидкість. Зважаючи на те, що YAML робить все, що робить JSON, а також більше вантажівки, ймовірно, що будь-яка порівнянна реалізація обох, JSON буде швидшою.

Однак, з огляду на , що файл YAML може бути трохи менше , ніж його аналог JSON (за рахунок меншої кількості "і ,символи), то можливо , що оптимізована YAML парсер може бути швидше , у виняткових обставинах.

Пам'ять

В основному застосовується той же аргумент. Важко зрозуміти, чому аналізатор YAML коли-небудь був би більш ефективним у пам’яті, ніж аналізатор JSON, якщо вони представляють однакову структуру даних.

Виразність

Як зазначають інші, програмісти Python схильні віддавати перевагу програмістам YAML, JavaScript перед JSON. Я зроблю такі спостереження:

  • Запам'ятати весь синтаксис JSON легко, а значить, дуже впевнено розуміти значення будь-якого файлу JSON. YAML не по-справжньому зрозумілий жодній людині. Кількість тонкощів і крайніх випадків надзвичайна.
  • Оскільки мало парсери реалізують всю специфіку, навіть важче бути впевненим у значенні даного виразу в заданому контексті.
  • На практиці відсутність коментарів у JSON - це справжній біль.

Переносність

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

Підсумок

JSON є переможцем за ефективність (якщо це доречно) та сумісність. YAML краще для файлів, що підтримуються людиною. HJSON - гідний компроміс, хоча із значно зменшеною портативністю. JSON5 - більш розумний компроміс, з чітко визначеним синтаксисом.


3
Насправді я вважав, що YAML менший через невидимих ​​персонажів, які обдурили мене як такого. Невидимий => Не там, ну насправді ні. Якщо порахувати, що невидимі символи повинні бути там, тим більше, що YAML отримує більше гніздування, це швидко перевершує JSON. Я просто подумав, що це було дуже цікаво, оскільки людина, що читає людину, обдурює більшість із нас у цьому понятті, поки я по-справжньому не подумав про це, як ви можете згладити JSON та YAML, не так сильно. Я також виявив, що YAML дуже важко вручну редагувати, а не читати, просто редагувати, як вам потрібно ввімкнути посібники редактора, легко помиляючись вкладені елементи часом.
Джейсон Себрінг

1
Я відчуваю, що жодна з відповідей тут не вказує цього прямо: "Для налаштувань / конфігураційних файлів YAML краще (з причин, зазначених вище всіма). Для взаємодії машини / машини використовуйте JSON". Іншими словами: якщо ваша цільова аудиторія людина, YAML краще. Якщо цільовою є інша програма (але ви все ще хочете, щоб дані були зрозумілими для людини), використовуйте JSON.
Флорін Т.

Це правда, але питання викладало деякі досить конкретні параметри про те, як вони хотіли, щоб вони порівнювали двох. Особисто я ніколи б не використовував YAML ні для чого. Я б або використовував JSON для сумісності, або JSON6, якщо важливе обслуговування людини.
Стів Беннетт

29

GIT та YAML

Інші відповіді хороші. Прочитайте їх першими. Але я додам ще одну причину використання YAML іноді: git .

Все більше програм програмування використовують git-сховища для розповсюдження та архівування. І хоча історія git repo може однаково зберігати файли JSON та YAML, метод "diff", який використовується для відстеження та відображення змін у файлі, орієнтований на лінію. Оскільки YAML змушена орієнтуватися на лінію, будь-які невеликі зміни у файлі YAML людині легше помітити.

Звичайно, правда, що файли JSON можна "зробити досить" шляхом сортування рядків / клавіш та додавання відступів. Але це не за замовчуванням, і я лінивий.

Особисто я зазвичай використовую JSON для взаємодії система-система. Я часто використовую YAML для конфігураційних файлів, статичних файлів та відслідковуваних файлів. (Я також взагалі уникаю додавання реляційних якорів YAML. Життя занадто коротке, щоб шукати петлі.)

Крім того, якщо швидкість і простір справді викликають занепокоєння, я також не використовую. Ви можете подивитися на BSON.


22

Я вважаю, що YAML стає простішим для очей: менше дужок, "" і т. Д. Хоча в YAML є роздратування вкладок ... але один виходить з цього.

Щодо продуктивності / ресурсів, я б не очікував великих розбіжностей між ними.

Крім того, ми говоримо про файли конфігурації, і тому я не сподівався на високу частоту активності кодування / декодування, ні?


22
Мені було цікаво, що ви маєте на увазі подразненість вкладок . Я вважаю, що символи табуляції заборонені в yaml , що особисто я думаю, що це гарна ідея в будь-якому вихідному файлі .
poolie

6
@poolie: jldupont, ймовірно, посилається на синтаксично значимий провідний пробіл у YAML.
naught101

10
Добре, але вони не вкладки.
poolie

20

Якщо вам не потрібні функції, які є у YAML, а у JSON немає, я вважаю за краще JSON, оскільки він дуже простий і широко підтримується (має багато бібліотек на багатьох мовах). YAML є більш складним і менше підтримує. Я не думаю, що швидкість аналізу або використання пам'яті буде сильно відрізнятися, і, можливо, не буде великою частиною продуктивності вашої програми.


3
в який спосіб YAML складніший?
Accatyyc

18
Наприклад, YAML підтримує якіри, як було зазначено в іншій відповіді. Є й інші функції, наприклад розширювані типи даних. Це робить його складнішим для розбору і пояснює, чому YAML має більші характеристики. Це може зашкодити продуктивності залежно від реалізації аналізатора (погляньте на це питання: stackoverflow.com/questions/2451732/… ).
Антон Строгонов

5
Складність краще, ніж простота, якщо ця складність купує вам силу для досягнення більшої простоти. Це, безумовно, вірно залежно від складності вашої моделі даних.
Джонатан Нойфельд

3
Я можу трохи запізнитися тут, але YAML може додати коментарі, тоді як JSON не може. Для мене це велика допомога, коли йдеться про документацію технічних характеристик
Moses Liao GZ

@Accatyyc. Я думаю, що факт, що люди тут задають питання про різницю, - це впевнений знак, що YAML не все так просто. Я ніколи не задавав питання про JSON (крім "чому я не можу мати коментарі в ньому?")
cmroanirgo

15

Технічно YAML пропонує набагато більше, ніж JSON (YAML v1.2 - суперсет JSON):

  • коментарі
  • якір і успадкування - приклад 3 однакових предметів:

    item1: &anchor_name
      name: Test
      title: Test title
    item2: *anchor_name
    item3:
      <<: *anchor_name
      # You may add extra stuff.
  • ...

Більшу частину часу люди не будуть використовувати ці додаткові функції, і головна відмінність полягає в тому YAML використовує відступи, тоді як JSON використовує дужки . Це робить YAML більш стислим і читабельним (для навченого ока).

Який вибрати?

  • Додаткові можливості та стислі позначення YAML роблять його гарним вибором для файлів конфігурації ( файли, що не надаються користувачем).
  • Обмежені можливості JSON , широка підтримка та більш швидкий аналіз робить його чудовим вибором для сумісності та даних, що надаються користувачем .

4

Оскільки це питання зараз особливо важливе при пошуку YAML та JSON, варто відзначити одну рідко цитовану різницю між двома: ліцензія. JSON має намір мати ліцензію, якої повинні дотримуватися користувачі JSON (включаючи юридично неоднозначне "використовується для добра, а не зла"). YAML не має такої претензії на отримання ліцензії, і це може бути важливою різницею (для вашого адвоката, якщо не для вас).


Я не використовую JSON, я використовую точний еквівалент JSON, не називаючи його JSON. Я називаю це PS-OFF. Ви збираєтесь подати до мене в суд за використання { "": #, [] }???
Андрій

4

Іноді не потрібно вирішувати одне над іншим.

Наприклад, у Go, ви можете мати одночасно і те й інше:

type Person struct {
    Name string `json:"name" yaml:"name"`
    Age int `json:"age" yaml:"age"`
}

3

Від: Книга Арно Ларета "Дизайн веб-API". :

Формат даних JSON

JSON - це текстовий формат даних, заснований на тому, як мова програмування JavaScript описує дані, але, незважаючи на свою назву, повністю не залежить від мови (див. Https://www.json.org/ ). Використовуючи JSON , ви можете описати об'єкти, що містять не упорядковані пари імен / значень, а також масиви або списки, що містять упорядковані значення, як показано на цьому малюнку.

введіть тут опис зображення

Об'єкт розмежований фігурними дужками ({}). Ім'я - це кодований рядок ("ім'я") і відокремлюється від його значення двокрапкою (:). Значення може бути рядком типу "значення", числом, таким як 1,23, булевим (істинним або хибним), нульовим значенням null, об'єктом або масивом. Масив розмежований дужками ([]), а його значення розділені комами (,). JSON легко аналізується за допомогою будь-якої мови програмування. Це також відносно легко читати і писати. Він широко застосовується для багатьох застосувань, таких як бази даних, конфігураційні файли і, звичайно, API.

ЯМЛ

YAML (YAML Ain't Markup Language) - дружній для людей формат серіалізації даних. Як і JSON, YAML ( http://yaml.org ) - це формат даних ключ / значення. На малюнку показано порівняння двох.

введіть тут опис зображення

Зверніть увагу на наступні моменти:

  • Подвійних лапок ("") навколо імен властивостей та значень у YAML немає .

  • Структурні фігурні дужки JSON ({}) та коми (,) замінюються новими рядками та відступами в YAML .

  • Дужки масивів ([]) і коми (,) замінюються тире (-) та нові рядки в YAML .

  • На відміну від JSON , YAML дозволяє коментувати, починаючи з хеш-позначки (#). Перетворити один з цих форматів в інший порівняно просто. Але будьте попереджені, ви втратите коментарі при перетворенні документа YAML в JSON .


0

Я вважаю, що YAML і JSON дуже ефективні. Єдині дві речі, які насправді диктують, коли одна для мене використовується над іншою, - це одна, якою мовою користується найпопулярніше. Наприклад, якщо я використовую Java, Javascript, я використовуватиму JSON. Для Java я буду використовувати свої власні об'єкти, які в значній мірі є JSON, але які не мають певних функцій, і конвертувати його в JSON, якщо мені потрібно, або в першу чергу зробити це в JSON. Це я роблю, тому що це звичайна річ у Java, а іншим розробникам Java стає легше змінювати мій код. Друга річ - чи я використовую його для програми, щоб запам'ятати атрибути, або якщо програма отримує інструкції у вигляді конфігураційного файлу, в цьому випадку я буду використовувати YAML, тому що це дуже легко читати людиною, має приємно шукаючи синтаксис, і його дуже легко змінити, навіть якщо ви не знаєте, як працює YAML. Потім програма прочитає його та перетворить його в JSON або будь-що, що є кращим для цієї мови.

Зрештою, це чесно не має значення. І JSON, і YAML легко читаються будь-яким досвідченим програмістом.


-1
  • JSON не може обробляти великі дані, порівнюючи yml

  • Не підходить для обробки різних мультимедійних форматів.

  • JSON не має можливості підтримувати "коментарі". Це може бути включено лише як додатковий атрибут.

  • YAML має деякі переваги перед JSON, такі як самонавіювання, підтримка складних типів даних, вбудований блок-літерал, коментарі тощо.

  • JSON доступний лише для читання, тоді як YAML можна читати та редагувати.
  • JSON - це підмножина YAML, так що YAML-аналізатори зможуть розбирати JSON.
  • YAML не використовує додаткових роздільників, тому він легший, ніж XML та JSON.

Що ви маєте на увазі під "великими даними" та "лише читабельними" пунктами? JSON - це формат даних, що може мати абстрактне поняття цих двох обмежень?
Жоао Фаріас

4
@ JoãoFarias Скажімо, у вас є 1 ГБ JSON-файлу та 1 ГБ CSV-файлу та у вас є 256 МБ пам'яті. Ви можете обробляти файл CSV по черзі, з JSON це не легко. Напевно, простіше розібрати YAML файл за рядком, ніж розбирати JSON.
NeverEndingQueue
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.