JSONPath-testare
Klistra in ett JSON-dokument och skriv ett JSONPath-uttryck som $..book[?(@.price<10)]. Testaren utvärderar det mot dokumentet och visar varje matchande värde, med den exakta sökvägen för varje matchning. Användbart för att validera frågan du tänker klistra in i ett skript eller en API-specifikation (Postman, k6, JMeter talar alla JSONPath).
Så testar du ett JSONPath-uttryck
-
1
Klistra in JSON-dokumentet
Valfri giltig JSON: objekt, array, djupt nästlad.
-
2
Skriv uttrycket
Börja med `$` för rot. Använd `.` för barn, `..` för rekursivt nedstigande, `[*]` för jokertecken.
-
3
Se matchningarna i realtid
Varje matchning visas med sitt värde och fullständig JSONPath, markerad i originaldokumentet.
-
4
Kopiera resultaten
Kopiera matchningar som en JSON-array, eller kopiera varje enskild sökväg för användning i nedströmskod.
JSONPath-syntaxreferens
| Uttryck | Betydelse |
|---|---|
$ |
Rotelement |
$.store |
Barn till $ med namnet store |
$["store"] |
Samma, hakparentesform |
$..author |
Alla author-egenskaper på valfritt djup |
$.store.book[*] |
Varje bok i butiken |
$.store.book[0] |
Första boken |
$.store.book[-1:] |
Sista boken |
$.store.book[0:2] |
Första två böckerna (slice) |
$.store.book[?(@.isbn)] |
Böcker med en isbn-egenskap |
$.store.book[?(@.price < 10)] |
Böcker billigare än 10 |
$.store.book[?(@.category == "fiction")] |
Skönlitterära böcker |
$..* |
Varje värde, överallt |
Filteruttryck
Filteruttryck använder @ för att referera till den aktuella noden. Testaren stöder de vanliga operatorerna ==, !=, <, >, <=, >=, &&, || och regex =~.
$.items[?(@.qty >= 10 && @.price < 50)]
JSONPath-dialekter
Det finns flera JSONPath-implementeringar med små inkompatibiliteter. Den här testaren följer Goessners ursprungliga specifikation och RFC 9535-förfiningarna, som är kompatibla med:
- Jayway JsonPath (Java)
- jsonpath-plus (JavaScript)
- jsonpath-rw (Python)
- jq grundläggande sökvägsuttryck
Inkompatibla funktioner (som skriptuttryck med godtycklig JS) flaggas i felpanelen.
När JSONPath slår en fullständig tolkare
- Testassertioner: Postmans
pm.expect(jsonData).to.have.jsonPath(...)tar en sökväg. - Konfigurationsextrahering: dra ut ett värde ur ett enormt API-svar utan ett bibliotek.
- Lasttestningsskript: k6, JMeter och Gatling stöder alla JSONPath för kontroller.
- Kubernetes / AWS CLI: flaggorna
--queryoch--jsonpathlåter dig forma utdata från kommandoraden.
Vanliga misstag
- Att använda
.på en array.$.users.0.nameär fel; använd$.users[0].name. - Att glömma
..för djup. En sökväg som$.namematchar baranamepå toppnivå; använd$..nameför alla. - Att förväxla JSONPath med jq. jq är en övermängd med kontrollflöde och transformationer; JSONPath är rent för extrahering.
- Regexförankring.
=~ /foo/matchar delsträngar; använd/^foo$/för exakt.
Vanliga frågor
JSONPath är ett rent extraheringsspråk, välj, filtrera, slice. jq är ett fullständigt fråge-/transformeringsspråk med kontrollflöde, variabler och funktioner. För enkel extrahering är JSONPath mer portabelt; för transformationer, använd jq.
Goessners ursprungliga specifikation plus RFC 9535-förfiningarna, matchande Jayway JsonPath (Java) och jsonpath-plus (Node). Dialektspecifika tillägg (skriptuttryck med godtycklig kod) stöds inte.
Ja. $..book[?(@.title =~ /^Harry.*/)] matchar alla böcker vars titel börjar med “Harry”. Använd ^ och $ för helmatchningsbeteende.
Ja. Både JSON:en och JSONPath-utvärderaren bor i din webbläsare. Ditt dokument och dina frågor lämnar aldrig fliken.
Relaterade verktyg
Webpack-konfigurationsgenerator
Skapa en webpack.config.js för webpack 5 med vanlig JavaScript, React eller Vue: TypeScript, Babel, CSS eller Sass, bilder, HtmlWebpackPlugin, en utvecklingsserver och raden för npm install.
Protocol Buffers-avkodare
Avkoda Protobuf-byte lokalt från hex, Base64, Base64URL, text eller fil, granska fälttolkningar och exportera en privat rapport.
XSD-validerare
Validera ett XML-dokument mot ett XSD-schema och rapportera element- och typavvikelser med exakta radnummer.
YAML till JSON
Omvandla YAML-konfiguration till JSON för verktyg och API:er som bara accepterar JSON. Hanterar ankare, merge-nycklar och nästlade strukturer.
XML-formaterare
Snygga till XML-dokument med konsekvent indrag och fånga formfel med exakta radnummer.
Generator för platshållarbilder
Skapa en bild på 1–4000 px med egna färger och text, ladda ned PNG eller kopiera webbadress och HTML.
Verktyget finns på andra språk
- Tester JSONPath [PL]
- JSON Path Tester [ID]
- JSONPath テスター [JA]
- Testeur JSONPath [FR]
- JSON Path Tester [NL]
- Công cụ kiểm thử JSONPath [VI]
- เครื่องมือทดสอบ JSON Path [TH]
- أداة اختبار مسارات JSON (JSONPath) [AR]
- JSONPath-Tester [DE]
- Probador de JSONPath [ES]
- JSONPath 테스터 [KO]
- Testador de JSONPath [PT]
- JSONPath Tester [EN]
- Tester JSONPath [IT]
- JSONPath Tester [RU]
- JSONPath Test Aracı [TR]
- JSON路径测试器 [ZH]