Hoppa till innehåll
100% lokalt

JSONPath-extraktor

Extrahera matchande värden från ett JSON-dokument med ett JSONPath- eller JSON-Pointer-uttryck.

Inmatning
Utmatning

JSONPath-extraktor

Klistra in ett JSON-dokument, skriv en fråga och det här verktyget returnerar bara de värden som matchar — utan att behöva skriva ett skript eller öppna en REPL för att extrahera ett enda fält från en stor datastruktur. Det stöder två frågestilar: JSONPath-uttryck som $.users[*].email och RFC 6901 JSON Pointer-referenser som /users/0/email. Växla mellan dem med syntaxalternativet beroende på vilken du redan har tillgänglig från API-dokumentation, en loggrad eller ett felmeddelande.

JSONPath-stöd täcker de mönster som människor faktiskt använder: punkt- och hakparentesnotation ($.user.name eller $['user name'] för nycklar med mellanslag), jokertecknet [*] för att fläkta ut över varje element i en matris eller varje värde i ett objekt, numeriska index inklusive negativa index räknade från slutet ($.items[-1]) och .. rekursiv nedstigning för att hitta en nyckel på vilket djup som helst oavsett hur djupt den är kapslad ($..email). Filteruttryck och skivintervall stöds inte — om din fråga behöver villkorlig logik extraherar du först den överordnade matrisen och filtrerar den sedan nedströms.

Två alternativ formar resultatet. "Lista med rader" skriver ut varje hittat värde på sin egen rad — strängar skrivs ut oförändrade, objekt och matriser skrivs ut som kompakt JSON — vilket är bekvämt att använda direkt med andra radbaserade verktyg som sort eller dedupe. "JSON-array" omsluter varje träff i en enda JSON-array, användbart när du vill ha en ren, tolkbar delmängd av det ursprungliga dokumentet. Slå på "Visa väg för varje träff" för att föregå varje resultat med den lösta vägen, vilket hjälper när flera olika fält plausibelt kan förklara ett givet värde.

Allt körs lokalt i din webbläsare: dokumentet du klistrar in och uttrycket du skriver är aldrig uppladdat någonstans. Detta gör det säkert att peka på verkliga API-svar, interna konfigurationsexporter eller produktionsloggutdrag. Summorna under resultatet rapporterar exakt hur många träffar som hittades, så ett oväntat tomt resultat är lätt att särskilja från en fråga som tyst returnerade ingenting.

FAQ

Vad är skillnaden mellan JSONPath och JSON Pointer?
JSONPath-uttryck som $.users[*].email kan matcha många värden samtidigt med hjälp av jokertecken och rekursiv nedstigning. JSON Pointer-referenser som /users/0/email löses alltid till högst ett värde — det är ett enklare, mer bokstavligt adresseringsschema, vanligt i JSON Schema och HTTP PATCH-nyttolaster.
Vilka JSONPath-funktioner stöds?
Punkt- och hakparentesnotation, jokertecknet [*], numeriska matrisindex (inklusive negativa) och .. rekursiv nedstigning för en nyckel på vilket djup som helst. Filteruttryck som [?(@.price<10)] och skivintervall som [0:2] stöds inte.
Vad händer om mitt uttryck inte matchar något?
Du får ett tomt resultat och en summa på 0 träffar — det behandlas inte som ett fel. Ett fel visas bara för ogiltig JSON-indata eller ett felaktigt formaterat uttryck.
Kan jag se var varje värde kom ifrån?
Slå på "Visa väg för varje träff" och varje resultat föregås av den exakta vägen det hittades på, i samma syntax som frågan — JSONPath-vägar som $.users[0].email, eller den ursprungliga pekaren för JSON Pointer-frågor.
Är mitt JSON-dokument upprättat någonstans?
Nej. Parsing och frågebearbetning sker helt i din webbläsare — dokumentet och uttrycket lämnar aldrig din enhet.