ממיר חינם

JSON ל ממיר YAML

המר את מבנה JSON לפורמט YAML נקי. אידיאלי עבור מניפסטים של Kubernetes ותצורות ענן.

אוֹ

אודות כלי זה

מעבר מ-JSON ל-YAML הוא בעיקר על הפיכת הנתונים לקריאה יותר עבור בני אדם. שני הפורמטים מתארים את אותם סוגים של מבנים - אובייקטים/מפות, מערכים/רצפים, סקלרים - אבל התחביר מבוסס הזחה של YAML, ציטוט אופציונלי ותמיכה בהערות מקלים על הסריקה והעריכה ביד. קובצי תצורה הם מקרה השימוש הקנוני: מניפסטים של Kubernetes, זרימות עבודה של CI, ספרי משחק של Ansible ועשרות כלים אחרים בחרו ב-YAML במיוחד בגלל שהעורכים העיקריים שלהם הם בני אדם.

ממיר זה משתמש ב-js-yaml כדי לסדר אובייקט JSON מנתח לתוך YAML. התוצאה משמרת את מבנה הנתונים בדיוק תוך יישום מוסכמות YAML: הזחה עבור קינון, רשימות עבור מערכים, זוגות מפתח-ערך עבור מאפייני אובייקט. הציטוט הכפול הקפדני של JSON רגוע; רק מחרוזות המכילות תווים מיוחדים או שנראים כמו סוגים אחרים מצוטטות בפלט.

ההמרה היא שמירה על מידע למעט מקום שבו YAML מוסיף כושר ביטוי ל-JSON לא היה. לא ניתן לשחזר הערות (ל-JSON לא היו כאלה). הפניות לעיגון וכינוי עשויות לדחוס מבנים חוזרים אך אינם נוצרים באופן אוטומטי; הפלט מרחיב את כל ההפניות בשורה.

למה להמיר JSON ל-YAML

YAML קריא באופן דרמטי יותר מ-JSON עבור עריכת תצורה של בני אדם. הזחה מחליפה את קינון הפלטה, מרכאות הן אופציונליות עבור מחרוזות פשוטות, והערות יכולות לתעד הגדרות לא ברורות. עבור קבצים שבני אדם מתחזקים - תצורת יישומים, תשתית כקוד, בניית צינורות - YAML הוא כמעט תמיד פורמט היעד הנכון.

כלי תשתית מודרניים מעדיפים באופן גורף את YAML. Kubernetes, תרשימי Helm, Ansible, GitHub Actions, GitLab CI, Docker Compose וכלים רבים אחרים מעדיפים או דורשים YAML. המרת ייצוא JSON ממערכת אחת לתצורת YAML עבור אחרת היא שלב אינטגרציה שגרתי.

כיצד להשתמש

הדבק JSON, קבל את YAML.

  1. הוסף את ה-JSON שלך: הדבק טקסט JSON או שחרר קובץ. הקלט חייב להיות JSON חוקי; הממיר לא מנסה לנתח קלט דמוי JSON שמפר את המפרט.
  2. בחר אפשרויות: ברירת המחדל של גודל הכניסה הוא 2 רווחים, המוסכמה הנפוצה ביותר של YAML. סגנון זרימה (דמוי JSON קומפקטי) לעומת סגנון בלוק (מבוסס הזחה) מחליף את מראה הפלט - בלוק הוא ברירת המחדל הידידותית לאדם.
  3. המרה: פונקציית ה-dump של js-yaml מסדרת את עץ ה-JSON המנתח ל-YAML. ציטוט מחרוזות מיושם רק במידת הצורך; מחרוזות מורכבות נשארות קריאות.
  4. הורד או העתק: שמור כ-yml או העתק ללוח. הפלט תקף YAML 1.2 מוכן לכל צרכן YAML.

מקרי שימוש נפוצים

פרטים טכניים

פונקציית ה-dump של js-yaml עוברת על עץ האובייקטים של JavaScript ופולטת YAML באמצעות עיצוב ניתן להגדרה. עומק הכניסה, רוחב הקו, סף סגנון הזרימה וטיפול בהצעות מחיר הם כולם פרמטרים. הגדרות ברירת המחדל מייצרות YAML בסגנון בלוק עם הזחה של 2 רווחים, המוסכמה הנפוצה ביותר.

ציטוט מחרוזות עוקב אחר הכללים של YAML: מחרוזות שנראות כמו סוגים אחרים (מספרים, בוליאנים, null, תאריכים) מצוטטות כדי לכפות פירוש מחרוזת; מחרוזות המכילות תווים מיוחדים (נקודתיים, גיבוב, מקפים מובילים) מצוטטות; מחרוזות אלפביתיות פשוטות נותרות ללא ציטוט.

הפלט תואם YAML 1.2 ומנתח בצורה נקייה עם js-yaml, PyYAML וספריות YAML עיקריות אחרות. נסיעות אימפוטנטיות הלוך ושוב (JSON → YAML → JSON) משמרות את הנתונים, אם כי ייצוג YAML בוחר בעיצוב קנוני שעשוי להיות שונה ממקבילה בכתב יד.

שיטות עבודה מומלצות

שאלות נפוצות

האם המרת JSON ל-YAML משנה את התוכן?
התוכן נשמר בצורה מדויקת ככל האפשר. עם זאת, ייתכן שלחלק מהתכונות הספציפיות לפורמט אין מקבילות ישירות, כך שעשויים להתרחש הבדלי עיצוב קלים.
למה להשתמש בפורמט YAML?
YAML פופולרי עבור קובצי תצורה מכיוון שהוא קריא מאוד עם תחביר מינימלי. זה הסטנדרט עבור Docker Compose, Kubernetes, GitHub Actions וכלי CI/CD רבים.
האם הממיר מטפל במבני JSON מקוננים או מורכבים?
כן. הכלי מנתח נכון אובייקטים מקוננים, מערכים וכל סוגי הנתונים הסטנדרטיים של JSON, שומר על מבנה הנתונים המלא בפלט YAML.
האם המרה זו מאובטחת ופרטית?
כן. כל העיבוד מתרחש באופן מקומי בדפדפן שלך. הנתונים שלך לעולם לא עוזבים את המכשיר שלך - אין העלאת שרת, אין עיבוד ענן, אין איסוף נתונים.
מה לגבי מחרוזות עם תווים מיוחדים?
js-yaml מצטט אותם באופן אוטומטי. מחרוזות המכילות נקודתיים, גיבוב או מקפים מובילים עטופים במירכאות כדי לשמור על ה-YAML בצורה טובה.
האם הנתונים שלי מועלים לשרת?
לא. ההמרה פועלת בדפדפן שלך באמצעות js-yaml.
האם אוכל להחזיר JSON ל-YAML ובחזרה?
כן. JSON → YAML → JSON שומר על הנתונים מבחינה מבנית. סדר המפתח של ה-JSON שהומר תואם את הקלט.
מהו גודל הקלט המקסימלי?
עד 50 מגה-בייט. js-yaml מטפל בקבצי תצורה טיפוסיים באופן מיידי.