JPath untuk pencocokan kueri parsial
Saya mencoba mempelajari kueri json jpath. Saya berhasil mengembalikan data berdasarkan pencarian yang tepat.
Misalnya di situs: https://jsonpath.com/ Saya berhasil mengambil jenis telepon berdasarkan nomor telepon:
JSON
{
"firstName": "John",
"lastName" : "doe",
"age" : 26,
"address" : {
"streetAddress": "naist street",
"city" : "Nara",
"postalCode" : "630-0192"
},
"phoneNumbers": [
{
"type" : "iPhone",
"number": "0123-4567-8888"
},
{
"type" : "home",
"number": "0123-4567-8910"
}
]
}
Pertanyaan
$.[?(@.number== '0123-4567-8888')].type
Namun saya tidak dapat menemukan contoh apa pun yang menunjukkan kepada saya cara mencocokkan sebagian hasil penelusuran. Saya mencoba menulis kueri di mana saya hanya memberikan "0123" dan karenanya mendapatkan kembali "rumah" dan "iPhone" kembali sebagai hasil. Bagaimana saya bisa melakukan ini?
Jawaban
Anda dapat menggunakan operator filter=~
pencocokan yang memungkinkan penyediaan ekspresi reguler alih-alih nilai yang ketat, jadi jika Anda mengubah kueri seperti:
$.phoneNumbers[?(@.number=~/.*0123.*/)].type
Anda akan mendapatkan kedua jenis tersebut sebagai hasil:

Informasi lebih lanjut: Plugin JSON Path Extractor JMeter - Skenario Penggunaan Lanjutan