ממיר חינם

YAML ל ממיר JSON

המרת YAML ל-JSON מהירה ומאובטחת. מושלם עבור קבצי תצורה וניתוח נתונים.

אוֹ

אודות כלי זה

YAML ו-JSON הם פורמטים קרובים - JSON הוא מבחינה טכנית תת-קבוצה קפדנית של YAML 1.2 - והמרה ביניהם היא בדרך כלל פשוטה. YAML מוסיפה תכונות ידידותיות לאדם שחסרות ל-JSON: הערות, מחרוזות מרובות שורות ללא בריחה, הפניות של עוגן וכינוי, ציטוט גמיש יותר ומבנה מבוסס הזחה הדומה לפריסת מסמך טבעית. זה הופך את YAML לבחירה הפופולרית עבור קבצי תצורה (מניפסטים של Kubernetes, זרימות עבודה של GitHub Actions, Docker Compose) בעוד ש-JSON שולט במטעני API.

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

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

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

רוב ממשקי ה-API וסביבות תכנות רבות מצפים ל-JSON. יש להמיר קבצי תצורה שנכתבו ב-YAML ל-JSON בעת שילוב עם קוד או שירותים שמקבלים רק JSON. כלי עבודה עבור JSON גם בשפע: jq, JSON Path, JSON Schema, ומערכת אקולוגית רחבה של מאמתים ושנאים מניחים כולם קלט JSON.

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

כיצד להשתמש

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

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

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

פרטים טכניים

js-yaml מיישמת את YAML 1.2 עם תמיכה אופציונלית במוזרויות YAML 1.1 (הבעיה 'לא' כשווא, מספרים אוקטליים ללא קידומת 0o). המנתח מייצר עץ אובייקטים של JavaScript באמצעות סוגים מקוריים: מספרים, מחרוזות, בוליאנים, null, מערכים ואובייקטים רגילים.

JSON.stringify מסדרת את עץ האובייקטים ל-JSON. הזחה אופציונלית מייצרת פלט מודפס יפה; בלעדיו התוצאה היא JSON קומפקטית בקו יחיד. ערכים מיוחדים (NaN, Infinity, undefined) אינם JSON חוקיים; הממיר מאלץ אותם לבטל היכן שהם קיימים.

מקרי קצה: חותמות זמן של YAML הופכות למחרוזות ISO-8601 ב-JSON. נתונים בינאריים של YAML (מקודדים ב-base64) הופכים למחרוזת. עוגנים וכינויים נפתרים לערכים כפולים ב-JSON, מכיוון של-JSON אין תחביר התייחסות.

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

שאלות נפוצות

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