Evaluasi Ekspresi JSONPath Secara Instan
Penguji JSONPath adalah alat bantu untuk mengevaluasi ekspresi JSONPath terhadap data JSON secara langsung di dalam browser Anda. Saat Anda memasukkan data JSON dan menuliskan ekspresi JSONPath, alat ini akan langsung menampilkan daftar nilai yang cocok beserta jalur (path) asalnya di dalam struktur JSON tersebut. Proses ini membantu Anda memahami secara tepat bagaimana ekspresi JSONPath bekerja dan data apa saja yang akan diekstrak dari dokumen JSON Anda.
Alat ini bekerja sepenuhnya di sisi klien. JSON dan JSONPath Anda diuji langsung di browser Anda, sehingga tidak ada data yang diunggah ke BroBroGo.
Batasan Input dan Validasi Data
Untuk memastikan kinerja evaluasi tetap optimal, alat ini menerapkan batasan kapasitas tertentu pada input yang dimasukkan:
- Input JSON: Area teks untuk menempelkan data JSON mendukung ukuran maksimum hingga 500,000 karakter. Jika data yang dimasukkan melebihi batas ini, sistem akan menampilkan pesan kesalahan: JSON ini terlalu besar untuk diuji di sini. Silakan coba sampel yang lebih kecil..
- Ekspresi JSONPath: Kolom teks untuk menuliskan ekspresi JSONPath mendukung panjang maksimum hingga 4,000 karakter. Jika ekspresi melebihi batas tersebut, sistem akan menampilkan pesan kesalahan: Ekspresi JSONPath ini terlalu panjang untuk diuji di sini..
Selain batasan ukuran, alat ini juga melakukan validasi format secara langsung. Jika struktur JSON yang dimasukkan tidak valid atau mengalami kerusakan sintaksis, pesan kesalahan JSON ini tidak valid. akan muncul.
Sintaksis JSONPath yang Didukung
Alat ini mendukung berbagai pola JSONPath standar yang umum digunakan dalam pengembangan API dan integrasi data. Beberapa pola utama yang dapat Anda uji meliputi:
- Akses Jalur Standar: Menelusuri objek secara hierarkis, misalnya
$.store.book[*].title. - Recursive Descent: Menggunakan operator
..untuk mencari elemen yang berada di tingkat kedalaman mana pun dalam struktur JSON, seperti$..price. - Filter Ekspresi: Menyaring data berdasarkan kondisi tertentu menggunakan operator filter, misalnya
[?@.price < 10]. - Array Slices: Memotong atau memilih elemen array tertentu berdasarkan indeks.
Memahami Hasil Evaluasi dan Penanganan Error
Setiap evaluasi yang berhasil akan menampilkan daftar nilai yang cocok beserta informasi detail mengenai lokasi asal nilai tersebut di dalam dokumen JSON.
Batasan Tampilan Hasil
Alat ini membatasi tampilan hasil maksimal hingga 200 entri untuk menjaga performa browser. Jika hasil evaluasi melebihi batas tersebut, sistem akan menampilkan jumlah kecocokan dengan format Cocok: 200+ disertai catatan Menampilkan 200 pertama.. Jika tidak ada data yang sesuai dengan ekspresi yang dimasukkan, sistem akan menampilkan pesan Tidak ada yang cocok.. Ketika tombol pembersih ditekan, sistem akan menampilkan status Dibersihkan..
Penanganan Kesalahan Evaluasi dan Waktu Habis (Timeout)
Proses evaluasi ekspresi JSONPath dapat menghasilkan beberapa kondisi kesalahan berikut:
- Jika ekspresi JSONPath yang Anda tulis tidak sesuai dengan aturan sintaksis yang benar, sistem akan menampilkan pesan: Ekspresi JSONPath ini tidak valid..
- Jika ekspresi memiliki format yang benar namun tidak dapat dieksekusi pada struktur data yang diberikan, sistem akan menampilkan pesan: Tidak dapat mengevaluasi JSONPath ini..
- Untuk mencegah browser menjadi tidak responsif akibat kueri rekursif yang terlalu luas pada dokumen besar, alat ini menerapkan batas waktu eksekusi yang ketat. Jika evaluasi melewati batas waktu tersebut, sistem akan menghentikan proses dan menampilkan pesan: Eksekusi JSONPath ini memakan waktu terlalu lama. Persempit ekspresi atau gunakan sampel yang lebih kecil..
FAQ (Pertanyaan yang Sering Diajukan)
Sintaks JSONPath apa saja yang bisa saya gunakan?
Gunakan pola JSONPath umum seperti $.store.book[*].title, recursive descent dengan $..price, filter seperti [?@.price < 10], dan slice array.
Mengapa setiap hasil menampilkan jalur (path)?
Path menunjukkan asal nilai tersebut di dalam JSON sumber, sehingga Anda dapat menyalin hasil yang cocok tanpa kehilangan lokasinya.
Mengapa kueri bisa mengalami waktu habis (timeout)?
Kueri rekursif yang sangat luas atau sampel yang sangat besar dapat memakan waktu terlalu lama. Tester akan menghentikannya setelah batas waktu singkat agar Anda dapat mempersempit ekspresi atau menggunakan sampel yang lebih kecil.
Apakah data JSON yang saya tempelkan aman dan bersifat privat?
Ya. JSON dan JSONPath Anda diuji langsung di browser Anda. Tidak ada yang diunggah ke BroBroGo.