مُصَيِّغ و مُقيّم Jsonnet
مرشد
مُصَيِّغ و مُقيّم Jsonnet
الصق مصدر Jsonnet في مربع الإدخال، أو اسحب ملفًا إلى مُرفع الملفات. ستحصل على نتيجة مُكتملة مُقيمة، أو عرض المصدر بشكل مُنظّم. يعمل هذا الأداة بالكامل في متصفحك، لذا لا يغادر تكوينك الصفحة. مفيد لعرض مخططات Kubernetes، لوحة تحكم Grafana، بيئة Tanka، أو أي تكوين مكتوب بلغة Jsonnet.
كيفية استخدام
- الصق كود Jsonnet في مربع الإدخال، أو اسحب ملفًا إلى مُرفع الملفات.
.jsonnet/.libsonnetلإكمال النتيجة، أو - اختيار تقييم → JSON لطباعة المصدر مع تجميل متسق. تنسيق مصدر Jsonnet اختر التجميل المفضل (مُسافتين، أربع مسافات، مُسافات مُتسلسلة، أو مُختصر).
- بشكل اختياري، ترتيب مفاتيح الأشياء أبجديًا، أو إجبار إخراج النص في الحالات التي يكون فيها المستوى الأعلى يُقيّم كنص بسيط.
- نسخ النتيجة بضغط زر واحد أو تنزيلها كـ
- تقييم مباشر
.json/.jsonnet.
خصائص
- – يتم تحليل مصدر Jsonnet وتقديم النتيجة بصيغة JSON أثناء الكتابة، مع تحديثات مُبطّنة لضمان التفاعل. وراثة الأشياء
- – دعم كامل للـ مُشغلات الحقول، بالإضافة إلى
+:,::و، و:::الإحصاءاتselfوsuperالمرجعية. - – كل من مُتسلسلات المصفوفات وأوامر الأشياء.
[expr for x in xs if cond]الوظائف والمتغيرات المغلقة{[k]: v for k in keys}– وظائف على مستوى الرأس والوظائف المُدخلة مع معلمات موضعية، مُسمّاة، وافتراضية. - مجموعة المكتبات القياسية – مساعدين شائعين مثل
- ، وآخرين. تنسيق النصوص
std.*– يعمل التصيغ بأسلوب Python تمامًا كما هو متوقع، بما في ذلك محددات الدقة والعرض.std.map,std.filter,std.foldl,std.range,std.join,std.sort,std.objectFields,std.mergePatch,std.formatرسائل الخطأ مع مواقعها - – تُبلغ أخطاء التحليل والتشغيل عن السطر والعمود حتى تتمكن من إيجاد المشكلة بسرعة. الخصوصية من البداية
%– كل شيء يعمل محليًا في متصفحك؛ لا يُرسل أي شيء إلى خادم. - متى تستخدم Jsonnet؟ Jsonnet هو لغة تشكيل بيانات تُحول إلى JSON. يُستخدم بشكل أفضل عندما تحتاج إلى إنشاء كم كبير من JSON أو YAML المتشابه، وترغب في تجنب التكرار من خلال نسخ وصق. تشمل الحالات الشائعة استخدام Kubernetes حيث يُشارك الكثير من الموارد في نماذج مُكررة، لوحة تحكم Grafana مع نماذج مُكررة للوحدات، تعريفات خطوط التصنيع، وحزم التحكم أو التكوين التي تتغير بشكل خفيف بين البيئات.
- يُمكن تشغيل هذا مُحلّل مُدمج بدون نظام ملفات، لذا لا يُدعم الصيغة. لا يُحتفظ بالتعليقات في المُصيغ، لأنه يعمل من شجرة تحليلية مُحلّلة. تغطي المكتبة القياسية الحالات الشائعة — إذا كنت تعتمد على مساعدين خاصين، فقم بتشغيل البرنامج الرسمي
للحصول على النتيجة النهائية.
ما هو Jsonnet وما العلاقة بينه وبين JSON؟
القيود
Jsonnet هو لغة صغيرة وعُمودية تُستخدم في التكوين، وهي تُعتبر مجموعة صارمة من JSON. أي مستند JSON يُعتبر برنامجًا صالحًا لـ Jsonnet، لكن Jsonnet تضيف متغيرات، وظائف، شروط، حسابات، تبديل النصوص، ووراثة الأشياء. يتم تقييم البرامج إلى نصوص JSON، لذا فإن النتيجة دائمًا ما تكون شيء يفهمه كل النظام. import, importstrو، و importbin لماذا لم تكن Jsonnet مجرد JSON مع تعليقات؟ jsonnet لا يمتلك JSON آلية تجميع، مما يعني أن المستندات المتشابهة تُنسخ بشكل متكرر وتتفرّد مع الوقت. يضيف Jsonnet متغيرات محلية، وظائف، ووراثة الأشياء لتمكين تشكيل البنية المشتركة مرة واحدة وتمكين استخدامها. تُعتبر اللغة محددة وبدون تأثيرات جانبية، لذا فإن نفس المدخل يُنتج نفس النتيجة بالكامل — خاصية مفيدة لبناء البنية المُعادية.
التعليمات
-
ما الذي يفعله مُشغل الحقل +: في وراثة الأشياء في Jsonnet؟
في Jsonnet، يُدمج مُشغل الحقل مع الحقل المُسمّى في الكائن الأب بدلاً من تجاوزه. بالنسبة للإحصاءات والنصوص، يتم الجمع أو التجميع؛ بالنسبة للمصفوفات يتم التجميع؛ بالنسبة للأشياء يتم التجميع العميق. هذا يسمح للكائن المُشتق بالتوسعة بدلًا من استبدال القيمة في الكائن الأب، وهو الميكانيزم الأساسي وراء مكتبات التكوين الطبقية.
-
ما الفرق بين self و super في Jsonnet؟
يُشير إلى الكائن المُبنى حاليًا، بما في ذلك أي تغييرات لاحقة — لذا فإن الحقل المُعرّف بدلالة
-
سيرى القيمة النهائية لـ
يُشير بشكل خاص إلى الأب في سلسلة الوراثة، لذا فإن
+:يصل إلى قيمة -
قبل تطبيق التغييرات في الكائن الحالي. يسمح لك الطرفان بالربط المتأخر (من خلال
self) ووصول مُباشر إلى القيم الموروثة (من خلالself.xكيف يختلف تقييم Jsonnet عن لغة التمثيل مثل Helm أو Jinja؟x.superتُنتج لغات التمثيل نصًا من خلال استبدال النصوص، مما يعني أن هيكل الناتج ليس مضمونًا كـ JSON أو YAML حتى بعد التمثيل. يُقيّم Jsonnet شجرة تعبير مُصنّفة إلى قيمة JSON، لذا يتم تأكيد صحة الشكل في وقت التقييم، ويُحدد الأخطاء على التعبير الأصلي بدلاً من خط الناتج. التنازل هو أن Jsonnet هي لغة حقيقية تُحتاج إلى تعلّم مفاهيمها الخاصة.super.xالصق كود Jsonnet هنا...xستظهر النتيجة المُقيمة أو المُصاغة هنا...selfمُحلّل وصيغة Jsonnet 1super). -
مُحلّل وصيغة Jsonnet
الصق مصدر Jsonnet واحصل على نتيجة مُقيمة مُكتملة، أو عرض المصدر بشكل مُنظّم. يعمل هذا الأداة بالكامل في متصفحك، لذا لا يغادر تكوينك الصفحة.
تثبيت ملحقاتنا
أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع
恵 وصلت لوحة النتائج!
لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!
