JSON إلى YAML

حوّل JSON إلى YAML

نبذة عن JSON إلى YAML

تعيد أداة «JSON إلى YAML» كتابة JSON الذي تلصقه بصيغة YAML، وهي صيغة ملفات Kubernetes وDocker Compose وGitHub Actions. تصبح الكائنات جداول ربط (mappings) بمسافات بادئة، وتصبح المصفوفات قوائم عناصر تسبق كلا منها الشرطة -، في أي مستوى من التداخل؛ وتكتب الكائنات والمصفوفات الفارغة {} و[]. وتنسخ الأرقام كما هي في JSON تماما، فلا يتغير 1.10 ولا معرّف من 20 رقما. أما السلسلة النصية التي قد يفهمها محلل YAML على أنها شيء آخر، مثل yes أو no أو 123 أو تاريخ أو نص فيه نقطتان تليهما مسافة، فتوضع بين علامتي اقتباس مفردتين. ولا تطوى الأسطر الطويلة أبدا، ويجري كل العمل في متصفحك باستخدام js-yaml.

مثال

ملف إعدادات JSON صغير وما تعيده الأداة بصيغة YAML (لاحظ علامات الاقتباس حول قيمة version وyes والنص الذي فيه نقطتان):

JSON

{
  "name": "api",
  "version": "1.10",
  "debug": false,
  "id": 12345678901234567890,
  "answer": "yes",
  "ports": [80, 443],
  "note": "Time: 10:30"
}

YAML

name: api
version: '1.10'
debug: false
id: 12345678901234567890
answer: 'yes'
ports:
  - 80
  - 443
note: 'Time: 10:30'

كيفية تحويل JSON إلى YAML

  1. 1الصق JSON في «إدخال JSON».
  2. 2انقر على «تحويل»؛ وإذا كان JSON غير صالح، يظهر بدلا من ذلك خطأ التحليل الذي يعطيه متصفحك.
  3. 3اقرأ YAML في «إخراج YAML».
  4. 4انقر على «نسخ»، أو على «تنزيل» للحصول على YAML نفسه في الملف data.yaml.

الصيغ والحدود

الإدخال
نص JSON
الإخراج
YAML بنمط الكتل، ومسافة بادئة من مسافتين، والملف data.yaml
ترتيب المفاتيح
كما في JSON، بما في ذلك مفاتيح مثل 10

المكان الذي تتم فيه معالجة ملفك

يحول js-yaml نص JSON داخل علامة تبويب المتصفح، ولا يرفع النص الذي تلصقه؛ ولا يوجد YAML إلا في هذه الصفحة إلى أن تنسخه أو تنزّله. وعند حدوث خطأ، مثل خطأ في تحليل JSON، نتلقى بلاغا به في صورة نص استبدلت فيه المقاطع الواردة بين علامات الاقتباس، مع اسم الأداة وإصدار متصفحك.

الأسئلة الشائعة

هل ستقرأ yes أو no أو on على أنها قيم منطقية (booleans)؟

لا. تضع الأداة هذه السلاسل النصية بين علامتي اقتباس، فتكتب 'yes' و'no' و'on' و'off' و'y'، فتبقى نصا حتى في المحللات التي تتبع قواعد YAML 1.1 الأقدم. أما القيم المنطقية الحقيقية في JSON فتكتب true وfalse.

هل تحتفظ الأرقام بخاناتها كما هي؟

نعم. يكتب الرقم بالخانات نفسها الموجودة في JSON الخاص بك: يبقى 1.10 بالشكل 1.10، ويحتفظ 12345678901234567890 بكل خاناته. والإصدار المخزن سلسلة نصية في JSON يوضع بين علامتي اقتباس في YAML، فيبقى نصا.

هل يمكنني تحويل YAML مرة أخرى إلى JSON؟

نعم، باستخدام أداة «YAML إلى JSON». يحول محللها الأعداد العشرية إلى أرقام JSON، فيعود 1.10 غير المحاط بعلامات اقتباس بالشكل 1.1، لكن السلاسل النصية المحاطة بعلامات اقتباس التي تكتبها هذه الأداة تعود دون تغيير.