تحويل JSON إلى YAML عبر الإنترنت
الصق بيانات مكتوبة بالأقواس المعقوفة والمربعة لتحصل على المحتوى نفسه بصيغة YAML مرتبة بالإزاحة: تصبح خدمة بالمنفذين 8080 و8443 قائمة سهلة القراءة، وتحتفظ القيم true وfalse والفارغة بمعناها. ويُرفض الإدخال المعطوب ولا يُحوَّل نصفه. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تحلل الأداة المستند كاملًا أولًا، لذلك ترفض الإدخال غير الصحيح بدلًا من إنتاج نتيجة جزئية غير موثوقة. تتحول الكائنات إلى تعيينات والمصفوفات إلى تسلسلات، وتحتفظ كل قيمة بنوعها.
طريقتان لكتابة البيانات نفسها
تُنتج التطبيقات والخدمات وملفات التصدير عادة بيانات بالأقواس المعقوفة والمربعة والفواصل وعلامات الاقتباس، بينما يعبّر YAML عن المحتوى نفسه بالإزاحة. كلاهما يصف البيانات الأساسية نفسها، لكن YAML أسهل على الناس في القراءة والمراجعة، ولهذا ينتشر كثيرًا في ملفات الإعداد والتوثيق. والتحويل اليدوي يعني حذف كل قوس وفاصلة وضبط كل إزاحة بدقة، وهو عمل بطيء وكثير الأخطاء في الملفات الطويلة. وهنا تصبح كل مجموعة من القيم المسماة تعيينًا في YAML، وكل قائمة تسلسلًا، وتُزاح البنى المتداخلة مثل المجموعات داخل القوائم بانتظام.
لماذا توضع بعض القيم بين علامات اقتباس عمدًا
يخمّن YAML نوع القيمة من شكلها، وقد يغيّر هذا التخمين بياناتك دون أن تنتبه. فالنص مثل true أو null أو تاريخ أو معرّف مكوّن من أرقام فقط قد يُقرأ قيمةً منطقية أو فارغة أو تاريخًا أو رقمًا. ولتجنّب ذلك توضع المفاتيح والنصوص بين علامات اقتباس عن قصد فتبقى نصوصًا. كما يُفحص المستند كاملًا قبل كتابة أي شيء، ويعطي الإدخال نفسه دائمًا النتيجة نفسها، جاهزة لمشروع يخضع للتحكم في الإصدارات.
حوّل البيانات المنظمة من دون تغيير معناها
تتحول الكائنات إلى تعيينات والمصفوفات إلى تسلسلات، وتحافظ السلاسل والأرقام والقيم المنطقية والقيم الفارغة على أنواعها. تحصل البنى المتداخلة على مسافات بادئة متسقة. توضع السلاسل والمفاتيح بين علامتي اقتباس كيلا يعاد تفسير التواريخ والمعرّفات الرقمية والكلمات الخاصة بأنواع أخرى.
كما تبقى الكائنات والمصفوفات الفارغة ظاهرة. لا تستخدم الخوارزمية الشبكة أو العشوائية أو الساعة أو النماذج، ولذلك ينتج الإدخال نفسه المخرج نفسه دائمًا. تجعل هذه الخاصية النتيجة ملائمة للتحكم في الإصدارات وعمليات البناء القابلة للتكرار والاختبارات ومراجعات الشفرة.
ما الذي تُدخله وما الذي تحصل عليه
يمكن أن يكون الجذر كائنًا أو مصفوفة أو سلسلة أو رقمًا أو قيمة منطقية أو قيمة فارغة. لا تسمح بالتعليقات أو الفواصل الختامية أو علامات الاقتباس المفردة أو المفاتيح غير المقتبسة أو undefined أو NaN أو Infinity. عند وجود أي منها يفشل التحليل ويعود خطأ إدخال يضم شرح المحلل، ولا تُنتج الأداة YAML جزئيًا.
يستخدم الناتج مسافتين للمسافة البادئة ومجموعات بنمط الكتل. تستخدم المفاتيح والسلاسل علامات اقتباس مزدوجة متوافقة مع YAML، فتحافظ بأمان على الأنواع ومحارف Unicode وفواصل الأسطر والشرطات المائلة العكسية وعلامات الاقتباس المهروبة.
استخدم التحويل التفاعلي أو أتمت سير العمل
يمكن لعملية بناء إنشاء ملفات YAML، ولمسار توثيق توليد أمثلة من الاختبارات، ولأداة ترحيل الحفاظ على المصفوفات والمجموعات الفارغة والأنواع القياسية. تحوّل هذه القدرة الصياغة فقط، ولا تتحقق من مخططات Kubernetes أو Docker Compose أو غيرهما. تحقّق بعد ذلك من الناتج وفق مخطط الوجهة المناسب.
الأسئلة الشائعة
هل تُحفظ السلاسل والأرقام والقيم المنطقية والفارغة؟
نعم. تُقتبس السلاسل لحماية نوعها، وتحافظ القيم القياسية الأخرى على مقابلها في YAML.
هل يتحقق المحول من مخطط YAML خاص؟
لا. ينتج YAML صالحًا مكافئًا للبيانات؛ تحقّقوا بصورة منفصلة من مخطط التطبيق المستهدف.
لماذا تظهر المفاتيح والنصوص بين علامات اقتباس؟
حتى تبقى قيم مثل true وnull والتواريخ والأرقام المستخدمة معرّفات نصوصًا، ولا يُعاد تفسيرها عند قراءة ملف YAML. فعلامات الاقتباس تحفظ معنى بياناتك كما هو تمامًا.
ماذا يحدث إذا احتوى الإدخال على خطأ في الصياغة؟
لا يُحوَّل شيء. يُفحص المستند كاملًا قبل كتابة YAML، لذلك يُرفض الإدخال الذي تنقصه فاصلة أو قوس بدل إنتاج نتيجة جزئية تبدو معقولة لكنها غير موثوقة.
هل تبقى المجموعات والقوائم الفارغة في الناتج؟
نعم. تُكتب مجموعات القيم الفارغة والقوائم الفارغة صراحة، فتبقى البنية التي كانت لديك قبل التحويل ظاهرة بعده، ولا يختفي شيء من الملف دون أن تلاحظ.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/json-to-yaml \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"}'const res = await fetch("https://api.kit.forhosting.com/web/json-to-yaml", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/json-to-yaml",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/json-to-yaml", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"{\\"service\\":{\\"name\\":\\"api\\",\\"enabled\\":true,\\"ports\\":[8080,8443]},\\"replicas\\":3}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/json-to-yaml", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.json_to_yaml",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
timeout_sec | 30 |
max_crawl_pages | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
حوّل سلسلة JSON إلى YAML مكافئ من دون استبدال الأقواس والفواصل وعلامات الاقتباس وصياغة المصفوفات يدويًا. يمكنكم استخدام المتصفح للتحويل السريع أو استدعاء API ضمن العمليات المؤتمتة.
حوّل البيانات المنظمة من دون تغيير معناها
يمثل JSON وYAML نموذج البيانات الأساسي نفسه، لكنهما يناسبان سياقات مختلفة. تنتج واجهات API صيغة JSON كثيرًا، بينما تسهّل YAML مراجعة ملفات الإعداد. تحلل هذه الأداة JSON قبل كتابة YAML.
جهّز JSON صالحًا وافهم صيغة الناتج
أرسل قيمة JSON واحدة كاملة في صورة نص. تشترط JSON إحاطة الأسماء والسلاسل بعلامتي اقتباس مزدوجتين، ووضع فواصل بين العناصر، وإغلاق الأقواس بصورة صحيحة.
استخدم التحويل التفاعلي أو أتمت سير العمل
تفيد أداة المتصفح في تكييف استجابة API أو إعداد ملف ضبط أو فحص بيانات متداخلة. الصق JSON وشغّل التحويل، ثم انسخ YAML بعد التحقق من متطلبات التطبيق المستهدف. للمهام المتكررة، استدعِ API مقابل $0.002 لكل عنصر، وتعامل مع الإدخال غير الصالح بوصفه فشل تحقق نهائيًا.
حالات التكامل
إنشاء إعداد بصيغة YAML
حوّل الإعدادات المصدّرة بصيغة JSON إلى مستند YAML مقروء مع الحفاظ على البنية والأنواع.
نشر أمثلة واجهات API
أنشئ نسخة YAML من طلب أو استجابة JSON مختبرة من دون صيانة نسختين يدويتين.
أتمتة ترحيل الصيغة
حوّل ملفات JSON إلى YAML حتمي قبل التحقق أو المراجعة أو التسليم.
أسئلة تقنية
ما تكلفة تحويل JSON إلى YAML؟
تكلف كل عملية عبر API مبلغ $0.002 لكل عنصر، ويمكن استخدام المتصفح للتحويل التفاعلي.
ماذا يحدث إذا كان JSON غير صالح؟
تعيد القدرة خطأ invalid_input مع رسالة المحلل، ولا تنشئ YAML جزئيًا.
هل يمكن أن يكون الجذر مصفوفة أو قيمة أولية؟
نعم. يمكنكم تحويل أي قيمة JSON كاملة، بما فيها الكائنات والمصفوفات والقيم الأولية.