Негізгі мазмұнға өту

YAML-ды JSON-ға конвертер — тегін

YAML-ды JSON-ға және JSON-ды YAML-ға екі бағытта айналдырыңыз. Кез келген форматта қойыңыз және түрлендірілген шығысты лезде алыңыз — сервер жүктеуі қажет емес.

Жүктелгеннен кейін офлайн жұмыс істейді
JSON шығысы
Шығыс осында пайда болады…

Жиі қолданылуы

  • Kubernetes Манифесті үшін YAML-ны JSON-ғе АйналдырыңызҚұрылғылар, құнамдау скриптлері немесе API арқылы тіке іске асыру үшін Kubernetes YAML-ны JSON-ғе (немесе артқа) айналдырыңыз.
  • Docker Compose YAML / JSON ӨзгертуҚарап-қау үшін docker-compose.yml-ді JSON-ғе айналдырыңыз, немесе бағдарлау өңдеулерінен сойын YAML-ге қайтыңыз.
  • CI/CD Құла Конфигурация ӨзгертуGitHub Actions, GitLab CI, CircleCI және басқа құла конфигурасын YAML және JSON пішіндерінің арасында айналдырыңыз.
  • Қолданба Конфигурация Файл ӨзгертуҚолданба конфигурация файлдарын YAML және JSON арасында айналдырыңыз - құрылғы өзгерткенде немесе құрылғылар арасында конфигурасын ортақтаганда пайдалы.
  • OpenAPI / Swagger Spec ӨзгертуOpenAPI 3.x немесе Swagger 2.0 API анықтамаларын YAML және JSON пішіндерінің арасында айналдырыңыз. Екі пішінде де сенім-анық және ауыстырмалы.

Қалай жұмыс істейді

Түрлендірудің екі бағыты да — YAML-ден JSON-ге және JSON-ден YAML-ге — үшінші тарап YAML кітапханасынсыз және сервер қатыспай толығымен бетке біріктірілген қолмен жазылған талдағыш пен шығарушы арқылы браузеріңізде жүреді. Логика салыстыруларды, тізбектерді, скалярларды, дәйексөзделген жолдарды және инлайн түсініктемені алып тастауды өңдейтін бір TypeScript модулінде (lib/yamljson.ts) орналасқан.

  1. 1
    Кіріс жол бойынша алдын ала өңделеді
    YAML кірісі үшін, талдағыш мәтінді жолдарға бөледі, инлайн түсініктемелерді алады (жолдар ішінде #-ны алмас үшін тырнақша күйін қадағалайды), шегіну тереңдігін өлшейді және бос жолдарды тастайды — талдау басталмас бұрын құрылымдалған белгілер тізімін құрайды.
  2. 2
    Рекурсивті түсу талдағышы деректер ағашын құрастырады
    Талдағыш структураны анықтау үшін шегіну деңгейін пайдаланып белгі тізімін аралайды. Ол тізбек элементтерін (- value), салыстыру кілттерін (key: value) және кірістірілген блоктарды таниды. Скалярлар null, логикалық мәндер, бүтін сандар (жасырын деректерді бұзбау үшін 007 сияқты жетекші-нөлді мәндерді қабылдамайды) және жылжымалы-нүктелерді өңдейтін терілген мәжбүрлеу қадамынан өтеді — yes, no, on, off сияқты YAML 1.1 таза сөздерін логикалық мәндерге түрлендірудің орнына жол ретінде сақтайтын қалау бойынша режиммен.
  3. 3
    Қолдау көрсетілмейтін YAML мүмкіндіктері үнсіз тасталмай, белгіленеді
    Шығысты шығармас бұрын, құрал якорьларды (&name), лақап аттарды (*name), біріктіру кілттерін (<<:), блок скалярларын (| және >), көп-құжатты маркерлерді (---) және қайталанатын салыстыру кілттерін сканерлейді. Осылардың кез келгені жасырын дұрыс емес JSON шығарудың орнына көрінетін ескертуді іске қосады.
  4. 4
    JSON сериаландырылады немесе YAML шығарылады, содан кейін қолжетімді етіледі
    YAML→JSON үшін, талданған мән таңдаған шегінуіңізбен (2 бос орын, 4 бос орын, tab немесе минификацияланған) JSON.stringify-ке беріледі. JSON→YAML үшін, таңдаулы шығарушы талданған JavaScript мәнін аралайды және шегіндірілген YAML шығарады, жол скалярларын тек қажет болғанда (мысалы, :, # бар мәндер немесе сақталған сөздерге ұқсайтындар) дәйексөздейді. Шығыс теру кезінде дереу пайда болады және көшірілуі немесе жүктеп алынуы мүмкін.

Байланысты құралдар

Жиі қойылатын сұрақтар