בפיתוח מודרני, פורמטי סריאליזציה הם עמוד השדרה של תצורה, תקשורת ואחסון. שני הפורמטים הנפוצים הם JSON ו-YAML (YAML Ain't Markup Language). הם יכולים לייצג את אותם מבנים, אובייקטים, מערכים, מחרוזות ומספרים, אבל התחביר והשימוש שונים.
JSON תוכנן בעיקר לתקשורת מכונה-למכונה, במיוחד ב-HTTP API. הכללים מחייבים מרכאות כפולות סביב מפתחות ומחרוזות, פסיקים בין איברים, וסוגריים מסולסלים או מרובעים למבנים. הנוקשות מקלה על מכונות לפרסר מהר, ולכן JSON שולט בווב. לבני אדם הוא מייגע: פסיק או סוגריים חסרים שוברים הכל, ואין תמיכה מובנית בהערות, מה שמקשה לתעד תצורה.
YAML תוכנן קודם כול לקריאות אנושית. הוא מסיר את העומס החזותי של סוגריים ומרכאות, ונשען על הזחה, בדומה ל-Python. האסתטיקה הנקייה הפכה אותו לסטנדרט בפועל לקבצי תצורה שאנשים כותבים. אפשר להגדיר מבנים מקוננים בלי לטבוע בפיסוק. YAML תומך בהערות עם #, כדי להסביר משתנים ולהשאיר הנחיות לצוות.
ל-YAML יש גם יכולות שאין ב-JSON. עוגנים (anchors) וכינויים (aliases) מאפשרים להגדיר בלוק פעם אחת ולעשות בו שימוש חוזר, ולשמור על DRY. YAML תומך גם בכמה מסמכים בקובץ אחד, מופרדים ב----, וכך אפשר להגדיר כמה תצורות במניפסט אחד.
בגלל ההבדלים, מפתחים ממירים בין הפורמטים כל הזמן. אולי קיבלתם מטען JSON ענק מ-REST API וצריך לקרוא אותו מהר, או לייצא תצורת JSON לקובץ YAML לפריסה. הכלי החינמי שלנו מגשר על הפער מיד, והופך JSON ממוטב למכונה ל-YAML ממוטב לבני אדם, בלי טרחה.