Pengatur dan Penilai Jsonnet
Memandu
Pengatur dan Penilai Jsonnet
Tempel sumber Jsonnet dan dapatkan hasil JSON yang telah dievaluasi secara penuh, atau tampilkan sumber secara rapi. Alat ini berjalan sepenuhnya di browser Anda, sehingga konfigurasi Anda tidak pernah meninggalkan halaman. Alat ini sangat berguna untuk pra-tampilan manifest Kubernetes, dashboard Grafana, lingkungan Tanka, atau konfigurasi lain yang dinyatakan dalam Jsonnet.
Cara Penggunaan
- Tempel kode Jsonnet ke kotak masukan, atau
.jsonnet/.libsonnetdrag file ke pengunggah. - Pilih Evaluasi → JSON untuk menghitung hasilnya, atau Format sumber Jsonnet untuk mencetak kembali sumber dengan indentasi konsisten.
- Pilih indent yang Anda inginkan (2 spasi, 4 spasi, tab, atau kontraksi).
- Opsional urutkan kunci objek secara alfabetis, atau paksa output string untuk kasus di mana level teratas menghasilkan string sederhana.
- Salin hasil dengan satu klik atau unduh sebagai
.json/.jsonnet.
Fitur
- Evaluasi langsung – Sumber Jsonnet dianalisis dan dievaluasi ke JSON saat Anda mengetik, dengan perbaruan yang dilambatkan untuk menjaga responsivitas.
- Warisan objek – Dukungan penuh untuk operator
+:,::dan:::field, ditambahselfdansuperreferensi. - Kompresi – Kompresi array
[expr for x in xs if cond]dan objek{[k]: v for k in keys}kompresi. - Fungsi dan penutupan – Fungsi pada level utama dan inline dengan argumen posisi, nama, dan default.
- Subset library standar – Bantuan umum seperti
std.*, dan lainnya.std.map,std.filter,std.foldl,std.range,std.join,std.sort,std.objectFields,std.mergePatch,std.formatFormat string - – Format Python-style bekerja persis seperti yang diharapkan, termasuk spesifikasi presisi dan lebar. Pesan kesalahan dengan lokasi
%– Kesalahan parsing dan runtime melaporkan baris dan kolom sehingga Anda dapat menemukan masalah dengan cepat. - Privasi oleh desain – Semua hal berjalan secara lokal di browser Anda; tidak ada yang dikirim ke server.
- Kapan Menggunakan Jsonnet Jsonnet adalah bahasa penulisan data yang dikompilasi ke JSON. Bahasa ini paling berguna ketika Anda perlu menghasilkan banyak JSON atau YAML yang mirip dan ingin menghindari duplikasi copy-paste. Kasus penggunaan umum meliputi deploymen Kubernetes di mana banyak sumber daya berbagi boilerplate, dashboard Grafana dengan template panel yang berulang, definisi pipeline CI, dan paket fitur atau konfigurasi yang sedikit berbeda di berbagai lingkungan.
Alat evaluasi di browser ini berjalan tanpa sistem file, sehingga
tidak didukung. Format tidak mempertahankan komentar, karena bekerja dari AST yang diparsing. Library standar mencakup kasus-kasus umum — jika Anda bergantung pada bantuan khusus, jalankan versi resmi
Keterbatasan
untuk hasil akhir. import, importstrdan importbin Apa itu Jsonnet dan bagaimana hubungannya dengan JSON? jsonnet Jsonnet adalah bahasa konfigurasi kecil yang bersifat fungsional, yang merupakan superset ketat dari JSON. Setiap dokumen JSON adalah program Jsonnet yang valid, tetapi Jsonnet menambahkan variabel, fungsi, kondisional, aritmetika, interpolasi string, dan warisan objek. Program dievaluasi menjadi nilai JSON sederhana, sehingga output selalu sesuatu yang dipahami oleh setiap sistem.
Tanya Jawab Umum
-
Mengapa Jsonnet bukan hanya JSON dengan komentar?
JSON tidak memiliki mekanisme abstraksi, yang berarti dokumen yang mirip akhirnya harus di-copy-paste dan berdrift seiring waktu. Jsonnet memperkenalkan lokal, fungsi, dan warisan objek sehingga struktur yang dibagikan dapat didefinisikan sekali dan digunakan kembali. Bahasa ini deterministik dan bebas efek samping, sehingga input yang sama selalu menghasilkan JSON yang sama — sifat ini berguna untuk infrastruktur yang dapat direproduksi.
-
Apa yang dilakukan operator +: dalam warisan objek Jsonnet?
Dalam Jsonnet, operator
-
field menggabungkan dengan field yang bernama sama di objek induk, bukan menggantinya. Untuk angka dan string, penggabungan adalah penjumlahan atau konkatenasi; untuk array, penggabungan adalah konkatenasi; untuk objek, penggabungan adalah gabungan mendalam. Ini memungkinkan objek turunan memperluas alihkan menggantikan nilai induk, yang merupakan mekanisme inti di balik library konfigurasi berlapis.
Apa perbedaan antara self dan super dalam Jsonnet?
+:merujuk pada objek yang sedang dibangun, termasuk semua penggantian yang terjadi nanti — sehingga field yang didefinisikan dalam bentuk -
selalu melihat nilai akhir dari
selfmerujuk secara khusus pada induk dalam rantai warisan, sehinggaself.xmencapai nilai darix.supersebelum penggantian nilai pada objek saat ini diterapkan. Kedua hal ini memungkinkan pengikatan terlambat (melaluisuper.x) dan akses eksplisit ke nilai yang diwariskan (melaluixBagaimana evaluasi Jsonnet berbeda dari bahasa templating seperti Helm atau Jinja?selfBahasa templating menghasilkan teks melalui substitusi string, yang berarti struktur output tidak dijamin valid JSON atau YAML sampai di-render. Jsonnet mengevaluasi pohon ekspresi berjenis data ke nilai JSON, sehingga kebenaran sintaks diperiksa saat evaluasi dan kesalahan ditunjuk ke ekspresi asal, bukan ke baris teks yang dihasilkan. Keuntungan yang dihasilkan adalah bahwa Jsonnet adalah bahasa nyata dengan semantiknya sendiri yang harus dipelajari.super). -
Tempel kode Jsonnet di sini...
Hasil JSON yang dievaluasi atau sumber Jsonnet yang telah diformat akan muncul di sini...
Instal Ekstensi Kami
Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat
恵 Papan Skor Telah Tiba!
Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!
Alat Wajib Coba
Lihat semua Pendatang baru
Lihat semuaMemperbarui: Kita alat terbaru ditambahkan pada 6 Jun 2026
