JSONPath-tester

Test JSONPath-udtryk mod JSON, og se matchende værdier og stier, mens du skriver.

JSON-input
Matchende værdier
Indtast JSON og et JSONPath-udtryk for at teste.

Din JSON og JSONPath testes i din browser. Intet uploades til BroBroGo.

FAQ

Hvilken JSONPath-syntaks kan jeg bruge?

Brug almindelige JSONPath-mønstre som f.eks. $.store.book[*].title, rekursiv søgning med $..price, filtre som [?@.price < 10] og array-slices.

Hvorfor viser hvert resultat en sti?

Stien viser, hvor værdien kom fra i kilde-JSON-strukturen, så du kan kopiere et match uden at miste dets placering.

Hvorfor kan en forespørgsel få timeout?

Meget brede rekursive forespørgsler eller enorme datamængder kan tage for lang tid. Testeren afbryder dem efter en kort tidsgrænse, så du kan indsnævre udtrykket eller bruge et mindre eksempel.

Introduktion til JSONPath-syntaks og datavalg

JSONPath er et forespørgselssprog til JSON-dokumenter, der gør det muligt at navigere i og udtrække specifikke dataelementer fra komplekse datastrukturer. Ligesom XPath bruges til XML, anvender JSONPath strukturerede udtryk til at lokalisere elementer i et JSON-dokument.

Værktøjet understøtter de mest almindelige JSONPath-mønstre, hvilket gør det muligt at udføre præcise søgninger i dine datasæt:

  • Direkte stier: Navigation gennem faste nøgler, som f.eks. $.store.book[*].title.
  • Rekursiv søgning (Recursive Descent): Brug af operatoren .. (f.eks. $..price) til at søge efter dybt lejrede elementer på tværs af hele JSON-strukturen, uanset deres nøjagtige placering i hierarkiet.
  • Filtre: Logiske udtryk som [?@.price < 10] til at filtrere elementer baseret på specifikke værdier eller kriterier.
  • Array-slices: Udtrækning af specifikke intervaller eller dele af arrays.

Når du indtaster dine data og dit udtryk i JSONPath-testeren, evalueres forespørgslen med det samme. Værktøjet viser en liste over de matchende værdier samt den nøjagtige sti for hvert match i kilde-JSON-strukturen. Dette hjælper dig med at forstå præcis, hvordan dit JSONPath-udtryk navigerer i dataene.


Sådan fungerer JSONPath-testeren

For at teste et udtryk skal du bruge to primære inputfelter i værktøjet:

  1. JSON-input: Her indsætter du de JSON-data, du ønsker at forespørge i. Den maksimale størrelse for dette input er 500.000 tegn.
  2. JSONPath-udtryk: Her indtaster eller indsætter du dit JSONPath-udtryk. Den maksimale længde for dette felt er 4.000 tegn.

Når du skriver eller redigerer dit udtryk, evaluerer værktøjet dataene i realtid. Resultatet præsenteres under overskriften Detaljer, hvor du kan se de matchende værdier og deres tilhørende stier. Værktøjet viser maksimalt 200 resultater. Hvis der findes flere end 200 matches, vil systemet angive Matches: 200+ og vise beskeden Viser de første {max}.

Hvis du ønsker at nulstille felterne, kan du rydde inputtene, hvorefter beskeden Ryddet vises. Hvis der ikke findes nogen værdier, der matcher dit udtryk, viser værktøjet Ingen matches..


Validering og fejlhåndtering

Præcis evaluering af JSONPath kræver, at både kildedataene og selve udtrykket overholder de korrekte syntaksregler. JSONPath-testeren validerer automatisk dine input og viser specifikke fejlmeddelelser, hvis noget forhindrer en korrekt evaluering:

  • Ugyldig JSON: Hvis dine kildedata indeholder formateringsfejl eller ikke er struktureret korrekt, vises fejlmeddelelsen: Denne JSON er ikke gyldig..
  • Ugyldigt udtryk: Hvis syntaksen i dit JSONPath-udtryk er forkert, vises meddelelsen: Dette JSONPath-udtryk er ikke gyldigt..
  • Evalueringsfejl: Hvis udtrykket er syntaktisk korrekt, men af andre årsager ikke kan køres mod de angivne data, vises meddelelsen: Kunne ikke evaluere denne JSONPath..

Håndtering af store datasæt og komplekse forespørgsler

Når man arbejder med store JSON-dokumenter eller meget brede, rekursive forespørgsler, kan evalueringen kræve betydelige systemressourcer. For at sikre en stabil ydeevne har værktøjet indbyggede begrænsninger og tidsgrænser:

  • Størrelsesgrænse for JSON: Hvis du forsøger at indsætte et JSON-dokument, der overstiger 500.000 tegn, afbrydes handlingen med fejlmeddelelsen: Denne JSON er for stor til at teste her. Prøv med et mindre eksempel..
  • Længdegrænse for udtryk: Hvis dit JSONPath-udtryk overstiger 4.000 tegn, vises meddelelsen: Dette JSONPath-udtryk er for langt til at teste her..
  • Timeout: Meget komplekse forespørgsler (f.eks. dybe rekursive søgninger på store datamængder) kan tage for lang tid at behandle. Værktøjet stopper automatisk evalueringen efter en kort tidsgrænse for at forhindre systemlåsning. Hvis denne grænse nås, vises meddelelsen: Denne JSONPath tog for lang tid at køre. Indsnævr udtrykket, eller brug et mindre eksempel..

For at skrive effektive udtryk anbefales det at undgå unødig brug af rekursiv søgning (..), hvis du kender den nøjagtige sti til dataene. Indsnævring af søgningen til specifikke grene i JSON-træet reducerer behandlingstiden markant.


JSONPath i API-udvikling og test

I moderne softwarearkitektur er JSON det dominerende format til dataudveksling via REST-API'er. JSONPath spiller en afgørende rolle for flere faggrupper, der arbejder med disse systemer:

  • API-udviklere: Kan hurtigt verificere, at deres API-endpoints returnerer data i den forventede struktur, og teste de udtryk, der skal bruges internt i applikationslogikken.
  • Testere: Kan bruge JSONPath til at opbygge automatiserede assertions i API-testværktøjer, så de kan validere specifikke felter i et JSON-svar uden at skulle parse hele dokumentet manuelt.
  • Dataengineers og supportpersonale: Kan hurtigt inspicere store JSON-logfiler eller datastrømme for at finde specifikke fejl, transaktions-id'er eller statusværdier.

Ved at vise den nøjagtige sti for hvert match gør værktøjet det nemt at lokalisere og kopiere specifikke værdier, samtidig med at man bevarer overblikket over, hvor i det overordnede JSON-hierarki dataene befinder sig.


Behandling af data og privatliv

Når du arbejder med følsomme API-svar, konfigurationer eller personlige data, er datasikkerhed afgørende.

Din JSON og JSONPath testes i din browser. Intet uploades til BroBroGo. Al evaluering, parsing og kørsel af JSONPath-udtryk sker lokalt på din egen enhed, hvilket betyder, at dine data ikke forlader din browser under testen.


Ofte stillede spørgsmål (FAQ)

Hvilken JSONPath-syntaks kan jeg bruge?

Brug almindelige JSONPath-mønstre som f.eks. $.store.book[*].title, rekursiv søgning med $..price, filtre som [?@.price < 10] og array-slices.

Hvorfor viser hvert resultat en sti?

Stien viser, hvor værdien kom fra i kilde-JSON-strukturen, så du kan kopiere et match uden at miste dets placering.

Hvorfor kan en forespørgsel få timeout?

Meget brede rekursive forespørgsler eller enorme datamængder kan tage for lang tid. Testeren afbryder dem efter en kort tidsgrænse, så du kan indsnævre udtrykket eller bruge et mindre eksempel.