JSON Tree Penampil

Tempel data JSON di bawah dan visualisasikan sebagai pohon interaktif yang dapat diciutkan dengan nilai berwarna.

Pohon

Cara kerjanya

  1. Tempel JSON Anda: jatuhkan string JSON apa pun, objek, array, struktur bersarang, di kolom input.
  2. Jelajahi pohon: JSON ditampilkan sebagai pohon interaktif yang dapat diciutkan. Klik node untuk membuka atau menutup anak-anaknya.
  3. Navigasi dan periksa: temukan kunci atau nilai tertentu dengan membuka cabang. Data yang bersarang dalam menjadi mudah dibaca sekilas.

Mengapa menggunakan penampil pohon JSON?

JSON mentah dari API, file konfigurasi, dan basis data terkenal sulit dibaca saat berisi struktur bersarang dalam. Penampil pohon JSON mengubah teks datar menjadi peta visual hierarkis di mana Anda secara seketika melihat bentuk data, menemukan kunci yang hilang, mengikuti path bersarang, dan memahami struktur tanpa perlu menganalisis kurung kotak dan koma secara mental. Ini adalah alat penting untuk debugging API, eksplorasi data, dan pemahaman skema.

Fitur

Pertanyaan umum

Apakah ada batas ukuran untuk input JSON?

Alat tidak menerapkan batas tegas. Performa tergantung pada browser dan perangkat Anda. File JSON yang sangat besar (beberapa MB) mungkin ditampilkan dengan lambat, tetapi respons API dan file konfigurasi tipikal berfungsi seketika.

Bisakah saya mengedit JSON dalam tampilan pohon?

Alat ini berfokus pada visualisasi dan eksplorasi struktur JSON. Untuk mengedit JSON, gunakan alat Pemformat JSON, yang menyediakan editor lengkap di samping keluaran yang diformat.

Apakah mendukung JSON dengan komentar (JSONC)?

JSON standar tidak mengizinkan komentar, dan sebagian besar parser (termasuk alat ini) menandainya sebagai kesalahan. Hapus komentar sebelum menempel, atau gunakan editor yang kompatibel dengan JSONC untuk JSON dengan komentar.

JSON, format data yang menang

Douglas Crockford menerbitkan JSON di json.org pada 2001 sebagai alternatif ringan untuk XML, menarik sintaksnya langsung dari literal objek JavaScript. Format pertama kali distandardisasi sebagai IETF Internet-Draft di RFC 4627 (Juli 2006), kemudian direvisi sebagai RFC 7159 (Maret 2014), dan akhirnya ditetapkan di RFC 8259 (Desember 2017), yang merupakan standar saat ini dan dijaga selaras dengan ECMA-404 (edisi 1 Oktober 2013, edisi 2 Desember 2017). RFC 8259 menambahkan satu persyaratan signifikan: pengkodean lapisan jaringan harus UTF-8. Dua spesifikasi pelengkap menyempurnakan ekosistem: RFC 6901 «JSON Pointer» (April 2013) mendefinisikan sintaks /store/book/0/title untuk mengalamatkan node di dalam dokumen, dan RFC 6902 «JSON Patch» mendefinisikan dokumen JSON yang menggambarkan perubahan untuk diterapkan ke dokumen JSON lain. JSON Schema (draft IETF saat ini 2020-12) menambahkan validasi. Semua yang lain dibangun di atasnya, JSONC untuk komentar file konfigurasi, JSON5 untuk sintaks longgar, NDJSON untuk streaming, datang kemudian.

Enam tipe nilai JSON (dan apa yang hilang)

RFC 8259 §3 mendefinisikan tepat enam tipe nilai. Tidak ada yang lain.

Apa yang tidak dimiliki JSON: tipe tanggal (konvensi adalah string ISO 8601 dengan zona waktu), komentar (gunakan field metadata terpisah), koma akhir, string berkutip tunggal, angka heksadesimal, undefined, NaN, atau Infinity. Salah satunya akan membuat JSON.parse melempar SyntaxError.

JSON ketat, JSONC, JSON5: mana yang mana

JSON ketat (RFC 8259) adalah yang diterima viewer ini: tanpa komentar, tanpa koma akhir, kunci berkutip ganda, string berkutip ganda. JSONC adalah konvensi Microsoft yang dikirim dalam VS Code yang mengizinkan komentar baris // dan komentar blok /* ... */ sambil menjaga semuanya tetap ketat; Anda melihatnya di tsconfig.json, .vscode/settings.json, dan paket npm jsonc-parser. JSON5 (2017, https://json5.org) adalah superset yang menambahkan string berkutip tunggal, kunci tanpa kutip, koma akhir, angka heksadesimal, nilai khusus IEEE 754 (NaN, Infinity), dan komentar baris dan blok; paket npm json5 memiliki sekitar 10 juta unduhan mingguan. NDJSON / JSON Lines (https://jsonlines.org) adalah varian streaming di mana setiap baris adalah dokumen JSON independen, digunakan oleh pengirim log dan pipeline ingestion big-data. Hapus komentar dan koma akhir sebelum menempel jika sumber Anda adalah JSONC atau JSON5.

Di mana viewer pohon benar-benar mendapatkan gajinya

Kesalahan umum saat bekerja dengan JSON

Pertanyaan yang lebih sering diajukan

Seberapa besar file JSON yang dapat ditangani viewer ini?

Parsing 1 MB dengan JSON.parse memakan waktu sekitar 10 ms di V8. Merender 100.000 node DOM yang terlipat dapat membekukan browser selama beberapa detik. Dalam praktik, viewer ini nyaman hingga sekitar 5 MB; di luar itu, harapkan lag yang terlihat selama render. Untuk dokumen yang lebih besar, gunakan parser streaming seperti stream-json di Web Worker, atau paginasi input dalam potongan.

Mengapa bilangan bulat besar saya kembali salah?

Angka JavaScript adalah float presisi ganda IEEE 754. Bilangan bulat hingga 2⁵³ − 1 = 9 007 199 254 740 991 bertahan dalam round-trip dengan tepat; di luar itu, presisi hilang. ID snowflake Twitter (64-bit), ID pelanggan Stripe, ID transaksi blockchain, dan banyak kunci surrogate database melebihi batas ini. JSON.parse akan secara diam-diam memotong. Solusinya adalah menerima ID sebagai string (kebanyakan API modern melakukan ini) atau parse dengan library yang mendukung BigInt.

Apa itu JSON Pointer, dan di mana saya akan menggunakannya?

RFC 6901 (April 2013) mendefinisikan sintaks jalur untuk mengalamatkan node di dalam dokumen JSON: /store/book/0/title memilih judul buku pertama di array store. JSON Pointer adalah fondasi JSON Patch (RFC 6902), yang mengekspresikan delta dokumen sebagai array pasangan pointer-dan-operasi. Server API Kubernetes menggunakan JSON Patch untuk pembaruan inkremental; demikian juga API REST GitHub dan banyak sistem lainnya.

Apakah NDJSON / JSON Lines berfungsi di viewer ini?

Tidak. NDJSON adalah satu nilai JSON independen per baris, tanpa array pembungkus. JSON.parse pada seluruh file melempar karena baris kedua dimulai di mana objek pertama berakhir. Bungkus seluruh konten dalam [ dan ] dan ganti setiap baris baru antara objek dengan koma, atau tempel satu baris sekaligus, atau gunakan viewer NDJSON khusus.

Apakah JSON saya dikirim ke mana pun?

Tidak. JSON.parse berjalan di mesin JavaScript browser Anda, pohon dirender sebagai node DOM secara lokal, dan tidak ada salinan data Anda dikirim melalui jaringan. Ini aman untuk respons API dengan rahasia, data pelanggan, atau PII. Buka tab Jaringan di DevTools dan tempel sampel: Anda akan melihat nol permintaan keluar selama parsing dan rendering.

Alat terkait

Pemformat & Validator JSON Gratis Online Pengekstrak Jalur JSON JSON Bandingkan XML Pemformat & Minifier