tigtools

ממיר YAML ל-JSON

הדביקו YAML (מניפסט Kubernetes, קובץ CI, מפרט OpenAPI או קובץ הגדרה) וקבלו JSON מעוצב מיד. דבר לא מועלה.

פועל בדפדפן שלך ללא הרשמה

הזחה

המר JSON ל-YAML במקום זאת

איך להשתמש בו

  1. הדביקו YAML בקלט, או נסו את הדוגמה.
  2. בחרו הזחה של 2 או 4 רווחים.
  3. העתיקו את ה-JSON או הורידו אותו כקובץ .json.

איך זה עובד

YAML מפוענח באמצעות הספרייה החופשית yaml לפי סכמת הליבה של YAML 1.2, כפי שמצפים כלים מודרניים: yes, no, on ו-off נשארים מחרוזות, ורק true ו-false נחשבים ערכים בוליאניים. עוגנים (&name) וכינויים (*name) מורחבים, ומפתחות מיזוג << מיושמים; מספר הרחבות הכינוי מוגבל, כך שמסמכים שמתפוצצים בכוונה נדחים במקום שהדף יקפא.

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

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

דוגמאות

קובץ CI עם עוגנים

רשימת משימות שמשתמשת שוב בבלוק ברירות מחדל עם <<: *defaults הופכת ל-JSON שבו ברירות המחדל מועתקות לכל משימה, כך שאפשר לראות בדיוק מה כל משימה מקבלת.

קובץ Kubernetes מרובה מסמכים

קובץ עם Deployment ו-Service המופרדים באמצעות --- הופך למערך JSON של שני אובייקטים, מוכן ל-kubectl או ל-jq.

שאלות נפוצות

מדוע yes נשאר מחרוזת?

YAML 1.2, שנמצא בשימוש כאן וברוב הכלים העדכניים, מתייחס רק אל true ו-false כאל ערכים בוליאניים. מפענחי YAML 1.1 ישנים יותר הפכו yes, no, on ו-off לערכים בוליאניים, דבר שגרם לתקלות רבות.

מה קורה להערות?

אין ב-JSON הערות, לכן הן מושמטות. הנתונים עצמם אינם משתנים.

האם יש מגבלת גודל?

הזיכרון של הדפדפן בלבד. קבצים גדולים מומרים לאחר השהיה קצרה בזמן ההקלדה, כך שהעמוד נשאר מגיב.

פרטיות

ההמרה מתבצעת כולה בדפדפן שלך. ה-YAML וה-JSON שלך לא מועלים ולא נשמרים.