Jsonnet Formatter & Evaluator

بياناتمطورنص
إعلان · حذف؟

أو

خيارات

Validation and evaluation results will appear here.
إعلان · حذف؟

مرشد

Jsonnet Formatter & Evaluator

Jsonnet Formatter & Evaluator

Paste Jsonnet source and get a fully evaluated JSON result, or pretty-print the source itself. This tool runs entirely in your browser, so your configuration never leaves the page. Handy for previewing Kubernetes manifests, Grafana dashboards, Tanka environments, or any other config-as-code expressed in Jsonnet.

كيفية استخدام

  1. Paste Jsonnet code into the input box, or drag a .jsonnet/.libsonnet file onto the uploader.
  2. اختيار Evaluate → JSON to compute the result, or Format Jsonnet source to re-print the source with consistent indentation.
  3. Choose your preferred indent (2 spaces, 4 spaces, tab, or minified).
  4. Optionally sort object keys alphabetically, or force string output for cases where the top-level evaluates to a plain string.
  5. Copy the result with one click or download it as .json/.jsonnet.

خصائص

  • Live evaluation – Jsonnet source is parsed and evaluated to JSON as you type, with throttled updates for responsiveness.
  • Object inheritance – Full support for the +:, ::و، و ::: field operators, plus self و super references.
  • Comprehensions – Both array [expr for x in xs if cond] and object {[k]: v for k in keys} comprehensions.
  • Functions and closures – Top-level and inline functions with positional, named, and default arguments.
  • Standard library subset – Common std.* helpers like std.map, std.filter, std.foldl, std.range, std.join, std.sort, std.objectFields, std.mergePatch, std.format, and more.
  • Format strings – Python-style % formatting works exactly as expected, including precision and width specifiers.
  • Error messages with locations – Parse and runtime errors report the line and column so you can find the problem fast.
  • Privacy by design – Everything runs locally in your browser; nothing is sent to a server.

When to Use Jsonnet

Jsonnet is a data templating language that compiles to JSON. It is most useful when you need to generate a lot of similar JSON or YAML and want to avoid copy-paste duplication. Typical use cases include Kubernetes deployments where many resources share boilerplate, Grafana dashboards with repeating panel templates, CI pipeline definitions, and feature-flag or config bundles that vary slightly across environments.

القيود

This in-browser evaluator runs without a filesystem, so import, importstrو، و importbin are not supported. The formatter does not preserve comments, since it works from a parsed AST. The standard library covers the common cases — if you rely on niche helpers, run the official jsonnet binary for the final output.

إعلان · حذف؟

التعليمات

  1. What is Jsonnet and how does it relate to JSON?

    Jsonnet is a small, purely functional configuration language that is a strict superset of JSON. Any JSON document is a valid Jsonnet program, but Jsonnet adds variables, functions, conditionals, arithmetic, string interpolation, and object inheritance on top. Programs are evaluated to plain JSON, so the output is always something every system already understands.

  2. Why is Jsonnet not just JSON with comments?

    JSON has no abstraction mechanism, which means similar documents end up being copy-pasted and drift apart over time. Jsonnet introduces locals, functions, and object inheritance so shared structure can be defined once and reused. The language is deterministic and side-effect free, so the same input always produces the same JSON — a property useful for reproducible infrastructure.

  3. What does the +: operator do in Jsonnet object inheritance?

    In Jsonnet, the +: field operator merges with the same-named field in the parent object instead of overriding it. For numbers and strings the merge is addition or concatenation; for arrays it is concatenation; for objects it is a deep merge. This lets a derived object extend rather than replace the parent's value, which is the core mechanism behind layered configuration libraries.

  4. What is the difference between self and super in Jsonnet?

    self refers to the object currently being constructed, including any later overrides — so a field defined in terms of self.x always sees the final value of x. super refers specifically to the parent in an inheritance chain, so super.x reaches the value of x before the current object's overrides were applied. The two together allow late binding (via self) and explicit access to inherited values (via super).

  5. How does Jsonnet evaluation differ from a templating language like Helm or Jinja?

    Templating languages produce text by string substitution, which means the output structure is not guaranteed to be valid JSON or YAML until rendered. Jsonnet evaluates a typed expression tree to a JSON value, so syntactic correctness is enforced at evaluation time and errors point to the originating expression rather than a line of generated text. The trade-off is that Jsonnet is a real language with its own semantics to learn.

هل تريد حذف الإعلانات؟ تخلص من الإعلانات اليوم

تثبيت ملحقاتنا

أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع

أضف لـ إضافة كروم أضف لـ امتداد الحافة أضف لـ إضافة فايرفوكس أضف لـ ملحق الأوبرا

وصلت لوحة النتائج!

لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!

إعلان · حذف؟
إعلان · حذف؟
إعلان · حذف؟

ركن الأخبار مع أبرز التقنيات

شارك

ساعدنا على الاستمرار في تقديم أدوات مجانية قيمة

اشتري لي قهوة
إعلان · حذف؟