JSONPath tester
Kleepige JSON ja testige JSONPath avaldisi interaktiivselt. Vaadake sobitamise tulemusi reaalajas, näidisradade abil kiiresti alustamiseks.
Sisend
Väljund
Loe mind
Mis on JSONPath?
JSONPath on päringukeel JSON-i jaoks, sarnane sellele, kuidas XPath töötab XML-iga. See võimaldab teil navigeerida ja eraldada andmeid JSON-struktuuri kaudu, kasutades teekonnalauseid. JSONPath-avaldis algab $-ga, mis esindab dokumendi juurt, ja kasutab punktmärke (.key) või sulgavaldist (['key']) objektide läbimiseks ning [index] massiivi elementide juurdepääsuks.
JSONPath kirjeldas algselt Stefan Gössner 2007. aastal ja on sellest ajast saadik muutunud laialdaselt kasutatavaks standardiks API-des, testimisraamistikes ja andmetöötlusprotsessides. Seda toetatakse paljudes keeltes ja tööriistades, sealhulgas JavaScript, Python, Java ja andmebaasides nagu PostgreSQL ja MySQL.
Tööriista kirjeldus
See tööriist võimaldab teil kleepida mis tahes kehtiva JSON-dokumendi ja kirjutada JSONPath-avaldise selle pärimiseks. Tulemused kuvatakse koheselt, kui tippite, näidates kõiki sobivaid väärtusi vormindatud JSON-massiivina. Vastetuste arv kuvatakse eraldi, et saaksite kiiresti kontrollida, mitu sõlme valiti.
Näited
Sisend JSON:
{
"store": {
"book": [
{ "title": "Moby Dick", "price": 8.99, "category": "fiction" },
{ "title": "War and Peace", "price": 12.5, "category": "fiction" },
{
"title": "A Brief History of Time",
"price": 7.99,
"category": "science"
}
]
}
}| Avaldis | Tulemus |
|---|---|
$.store.book[*].title |
Kõik raamatute pealkirjad |
$.store.book[0] |
Esimene raamatu objekt |
$.store.book[?(@.price < 10)] |
Raamatud, mis on odavamad kui $10 |
$.store.book[?(@.category == "fiction")] |
Ainult ilukirjanduse raamatud |
$..price |
Kõik hinnaväärtused dokumendi kõikjal |
Funktsioonid
- Reaalajas hindamine — tulemused värskendatakse, kui tippite avaldist või muudate JSON-i
- Vastetuste arvu kuvamine eraldi väljal
- Kopeerimise nupp avaldise väljal kiireks taaskasutamiseks
- Kleepimise nupp JSON-i või avaldiste kiireks sisestamiseks lõikepuhvrist
- Vigade teatamine kehtetute JSON-i või valesti koostatud teekonnalausete puhul
Kuidas see töötab
JSONPath-avaldisi hinnatakse parsitud JSON-i suhtes, kasutades jsonpath-plus teeki. Sümbol $ viitab juurelemendile. Alamsõlmedele pääseb juurde . või [] abil, metamärkidele * abil, rekursiivse laskumisega .. ja filtritega [?(...)]. Tulemus on alati sobivate väärtuste massiiv, isegi kui leiti ainult üks vaste.
Valikud selgitatud
| Süntaks | Tähendus |
|---|---|
$ |
Juurelement |
.key või ['key'] |
Alamobjekti omadus |
[*] |
Kõik massiivi elemendid |
[0] |
Esimene massiivi element (nullist alates) |
[-1] |
Viimane massiivi element |
[0,2] |
Elemendid indeksites 0 ja 2 |
[0:2] |
Elemendid indeksist 0 kuni 1 (viil) |
..key |
Rekursiivne laskumine — leia key mis tahes sügavusel |
[?(@.price > 5)] |
Filter — elemendid, kus price on suurem kui 5 |
@ |
Praegune sõlm (kasutatakse filtriavaldistes) |
Kasutamise juhtumid
- API arendamine — veenduge, et REST-kliendis, testimispaketis või andmete vastendamise tööriistas kasutatav JSONPath-valija eraldab API-vastusest oodatud väljad
- Andmete teisendamine — tuvastage, millised väärtused tuleb eraldada pesastatud JSON-i last enne teisendamise skripti kirjutamist
- JSONPath õppimine — katsetage teekonnasüntaksit interaktiivselt, et mõista, kuidas operaatorid nagu
..,[*]ja[?()]käituvad tegelike andmetega
Näpunäited
- Kasutage
$..*kõigi väärtuste saamiseks kogu dokumendis — kasulik tundmatu JSON-struktuuri uurimiseks. - Filtriavaldised toetavad võrdlusi (
==,!=,<,>,<=,>=) ja võivad viidata pesastatud omadustele:[?(@.author.name == "Rees")]. - Omaduse sobitamiseks sõltumata selle sügavusest kasutage
..rekursiivset laskumist:$..titleleiab kõiktitleväljad dokumendi kõikjal.