Apidog

Platform Pengembangan API Kolaboratif All-in-one

Desain API

Dokumentasi API

Debug API

Mocking API

Pengujian Otomatis

[Panduan] Apa Arti JSONPath di Postman?

Artikel ini membahas JSONPath Postman, membantu navigasi & ekstrak data JSON. Pelajari cara menarget elemen spesifik, filter hasil, & dapatkan wawasan API.

Ardianto Nugroho

Ardianto Nugroho

Updated on April 15, 2025

Pengujian API yang efektif bergantung pada ekstraksi dan manipulasi data dari respons JSON secara efisien. Postman, platform pengembangan API yang populer, memberdayakan pengguna dengan JSONPath, bahasa kueri yang kuat yang dirancang khusus untuk menavigasi struktur JSON.

đŸ’¡
Pengembangan web dan aplikasi mungkin melibatkan berbagai tumpukan teknologi, yang berarti bahwa alat harus mampu mendukungnya!

Jika Anda mencari alat API untuk melanjutkan pengembangan aplikasi atau API Anda, maka Anda harus sangat mempertimbangkan untuk menggunakan Apidog - solusi terpadu untuk semua masalah API Anda.

Jika Anda ingin mempelajari lebih lanjut tentang Apidog, klik tombol di bawah ini!
button

Artikel ini membahas dunia Postman JSONPath, membekali Anda dengan keterampilan untuk membuka potensi penuh interaksi API Anda.

Apa itu JSONPath?

JSON (JavaScript Object Notation) adalah format data yang ada di mana-mana untuk bertukar informasi antara API dan aplikasi. Sementara sifatnya yang mudah dibaca manusia adalah nilai tambah, respons JSON yang kompleks dengan objek dan array bersarang bisa jadi menakutkan untuk dinavigasi. Di sinilah JSONPath masuk – bahasa kueri ringkas yang dirancang khusus untuk melintasi dan mengekstrak data dari struktur JSON.

Ekspresi JSONPath menyerupai peta jalan, memandu Anda melalui hierarki JSON. Begini cara kerjanya:

Elemen Root

Elemen root diwakili oleh $, itu menandakan seluruh dokumen JSON.

Node Anak

Notasi titik (.) atau notasi kurung ([]) digunakan untuk mengakses node anak.

  • Notasi titik lebih disukai untuk nama properti sederhana: $.name memilih properti "name" dari objek root.
  • Notasi kurung digunakan untuk mengakses properti dengan karakter khusus atau spasi: $['full name'] menargetkan properti "full name".

Array

Kurung siku dengan indeks mengakses elemen tertentu: $.items[1] memilih elemen kedua dalam array "items". Wildcard (*) dapat digunakan untuk menargetkan semua elemen: $.products[*] memilih semua elemen dalam array "products".

Filter

Filter memungkinkan Anda mempersempit hasil berdasarkan kondisi. Misalnya, $..[?(@.price > 100)] memilih semua objek dalam struktur JSON (dilambangkan dengan ..) di mana "price" properti lebih besar dari 100.

Bagaimana Postman Bekerja Dengan JSONPath?

Skrip Uji

Ekspresi JSONPath dapat disematkan dalam skrip uji Postman untuk mengekstrak data tertentu dari respons dan melakukan pernyataan.

  • Contoh: pm.test("Status code is 200", () => pm.response.json().statusCode === 200);
  • Contoh (dengan JSONPath): pm.test("User ID is 123", () => pm.response.jsonPath("$.id") === 123);

Koleksi

JSONPath dapat digunakan dalam variabel koleksi untuk secara dinamis menentukan parameter permintaan berdasarkan respons sebelumnya. Ini memungkinkan untuk membangun kasus uji yang dapat digunakan kembali dan berbasis data.

  • Contoh: Ambil ID pengguna dari respons sebelumnya dan gunakan dalam permintaan berikutnya: pm.collectionVariables.set("userId", pm.response.jsonPath("$.id"));

Skrip Pra-permintaan

Ekspresi JSONPath dapat digunakan dalam skrip pra-permintaan untuk memanipulasi data sebelum mengirim permintaan.

  • Contoh: Modifikasi isi permintaan berdasarkan nilai tertentu dari variabel lingkungan pengujian: pm.request.body.set("productId", pm.environment.variables.selectedProduct.id);

Contoh Kueri JSONPath

Ini adalah beberapa contoh kueri JSONPath yang dapat diimplementasikan di bagian pra-permintaan Postman.

postman pre-request script

Contoh 1 - Logika Kondisional dengan fungsi if

Bayangkan respons dengan properti "isActive" untuk pengguna. Anda ingin mengekstrak nama mereka, tetapi hanya jika mereka aktif.

$.users[*].if(@.isActive, $.name, "Inactive")

Kode ini menggunakan fungsi if. Jika objek pengguna saat ini memiliki properti "isActive" yang diatur ke true, ia mengekstrak nama mereka. Jika tidak, ia mengembalikan string "Inactive".

Contoh 2 - Menemukan Nilai Minimum/Maksimum

Katakanlah Anda memiliki array "orders" dengan properti "amount" untuk setiap pesanan. Anda ingin menemukan pesanan dengan jumlah minimum dan maksimum.

$..[?(@.type == "order")].amount.min()  // Jumlah minimum
$..[?(@.type == "order")].amount.max()  // Jumlah maksimum

Kueri ini memanfaatkan fungsi min() dan max() untuk mengidentifikasi nilai masing-masing dalam properti "amount" di semua pesanan.

Contoh 3 - Meratakan Array Bersarang

Postman tidak secara native mendukung array bersarang. Jika Anda memiliki respons dengan kategori produk bersarang, Anda mungkin ingin meratakannya menjadi satu daftar.

$.categories..[*] | flatten

Kode ini menggunakan operator pipeline (|) dan fungsi flatten. Ia melintasi semua elemen bersarang dalam struktur "categories" dan meratakannya menjadi array satu tingkat.

Contoh 4 - Bekerja dengan Tanggal dan Angka

JSONPath dapat memanipulasi tanggal dan angka. Katakanlah Anda memiliki stempel waktu "createdAt" untuk pengguna. Anda ingin memformatnya ke format tanggal tertentu.

pm.response.json().users[*].createdAt.toString(pm.timestampFormat("YYYY-MM-DD"))  // Mengasumsikan fungsi format yang telah ditentukan sebelumnya

Contoh ini menggabungkan JSONPath dengan fungsi skrip Postman (pm.timestampFormat) untuk memformat stempel waktu "createdAt" ke dalam format yang diinginkan (YYYY-MM-DD) dalam skrip pra-permintaan.

Contoh 5 - Menggabungkan JSONPath dengan Variabel Postman

Anda dapat secara dinamis mengontrol kueri JSONPath menggunakan variabel Postman. Misalkan Anda ingin memfilter pengguna berdasarkan ID pengguna yang disimpan dalam variabel.

$.users[?(@.id == pm.variables.get("selectedUserId"))]

Di sini, pm.variables.get("selectedUserId") mengambil nilai yang disimpan dalam variabel "selectedUserId" dan menggunakannya dalam filter JSONPath untuk pemilihan pengguna dinamis.

Apidog - Siapkan Skrip Pra-prosesor dengan Cepat

Apidog adalah alat pengembangan API komprehensif yang dapat menjadi alternatif sempurna untuk Postman bagi pengembang.

apidog mock interface
button

Dengan alat lengkap untuk seluruh siklus hidup API, pengembang dapat membangun, menguji, mock, dan mendokumentasikan API hanya dalam Apidog!

apidog features

Menyetel Skrip API Kustom Menggunakan Apidog

apidog script pre processor

Apidog menyediakan pengembang dengan fitur pembuatan kode untuk skrip kustom. Anda bisa mendapatkan dan menyetel variabel lingkungan dan lokal.

apidog post processor

Anda juga dapat mempersonalisasi bagian pasca-prosesor API Anda, menentukan Ekspresi JSONPath dan objek target.

button

Membuat API Baru dengan Apidog

Apidog memberdayakan pengguna dengan tingkat fleksibilitas desain yang tinggi dalam proses pembuatan API. Ini memungkinkan pengembangan API yang secara tepat selaras dengan persyaratan fungsional aplikasi Anda atau kebutuhan spesifik pengguna yang dituju.

button
new api apidog

Mulailah dengan menekan tombol New API, seperti yang ditunjukkan pada gambar di atas.

add details new api apidog

Setelah menetapkan fungsionalitas inti API Anda, sekarang penting untuk dengan cermat mendefinisikan karakteristik operasionalnya. Bagian ini menguraikan pertimbangan utama yang terlibat dalam proses ini:

  • Metode HTTP: Pemilihan metode HTTP yang sesuai (GET, POST, PUT, DELETE) sangat penting. Metode-metode ini mengatur bagaimana pengguna berinteraksi dengan dan memanipulasi informasi dalam API Anda.
  • Endpoint API: Alamat web unik (endpoint) harus dipilih untuk berfungsi sebagai titik akses bagi pengguna untuk menemukan dan berinteraksi dengan API Anda.
  • Parameter Input: Perlu untuk secara jelas menentukan elemen data apa pun yang dapat dimasukkan pengguna ke dalam alamat API untuk mengambil respons tertentu.
  • Fungsionalitas: Penjelasan yang jelas diperlukan untuk merinci tindakan dan hasil yang tepat yang difasilitasi oleh API Anda.

Untuk memastikan Anda membangun API yang efektif, pertimbangkan untuk meninjau artikel bermanfaat ini tentang praktik terbaik URL REST API.

button

Kesimpulan

Integrasi Postman dengan JSONPath membuka alat yang kuat dan serbaguna untuk menavigasi dan memanipulasi data dalam respons JSON. Dengan menguasai ekspresi JSONPath, Anda dapat secara efisien mengekstrak nilai tertentu, memfilter hasil berdasarkan kondisi, dan bahkan melakukan transformasi data yang kompleks. Ini memberdayakan Anda untuk menyederhanakan alur kerja pengujian API, mendapatkan wawasan lebih dalam dari respons, dan membangun kasus uji yang kuat yang memastikan fungsionalitas dan keandalan API Anda.

Selain itu, integrasi JSONPath yang mulus dengan kemampuan skrip Postman membuka pintu untuk kasus penggunaan yang lebih canggih. Anda dapat secara dinamis mengontrol kueri menggunakan variabel, memanfaatkan fungsi untuk manipulasi data yang canggih, dan menggabungkan JSONPath dengan skrip pra-permintaan atau skrip uji untuk mengotomatiskan tugas-tugas kompleks. Dengan merangkul kekuatan JSONPath di Postman, Anda meningkatkan proses pengembangan API Anda ke tingkat efisiensi dan efektivitas yang sama sekali baru.

Apa itu Ollama? Cara Menginstal Ollama?Sudut Pandang

Apa itu Ollama? Cara Menginstal Ollama?

đŸ’¡Ingin alat Pengujian API yang hebat yang menghasilkan Dokumentasi API yang indah? Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum? Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau! button Lanskap kecerdasan buatan (AI) terus berkembang dengan kecepatan tinggi, dan Model Bahasa Besar (LLM) menjadi semakin kuat dan mudah diakses. Meskipun banyak orang berinteraksi dengan model

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?Sudut Pandang

Di Mana Unduh Swagger UI Bahasa Indonesia Gratis?

Ingin Swagger UI dalam Bahasa Indonesia? Artikel ini menjelaskan mengapa tidak ada unduhan resmi gratis dan cara mengaktifkan terjemahan. Jelajahi fitur Swagger dan lihat mengapa Apidog adalah alternatif Swagger superior untuk desain, pengujian, dan dokumentasi API yang terintegrasi.

Oliver Kingsley

April 23, 2025

Di Mana Mengunduh Postman Bahasa Indonesia Gratis?Sudut Pandang

Di Mana Mengunduh Postman Bahasa Indonesia Gratis?

Bisakah Anda mengunduh Postman Bahasa Indonesia gratis? Meskipun Postman tidak memiliki dukungan Bahasa Indonesia native, ada solusi lain. Jelajahi ini & temukan Apidog, alternatif Postman terpadu yang kuat untuk menyederhanakan alur kerja API Anda, apa pun bahasanya.

Oliver Kingsley

April 22, 2025