Ugrás a tartalomhoz
100% helyi

JSONPath extraktor

Nyerje ki a JSON-dokumentumokból azokat az értékeket, amelyek megfelelnek a JSONPath vagy JSON Pointer kifejezésének.

Bemenet
Kimenet

JSONPath extraktor

Illesszen be egy JSON-dokumentumot, írjon egy lekérdezést, és ez az eszköz csak a megfelelő értékeket adja vissza — nincs szükség parancsfájl írására vagy REPL megnyitására ahhoz, hogy egyetlen mezőt kinyerjen egy nagyobb adatszerkezetből. Két lekérdezési stílust támogat: JSONPath-kifejezéseket, mint a $.users[*].email, és RFC 6901 JSON Pointer hivatkozásokat, például /users/0/email. A szintaxis lehetőséggel váltogat közöttük attól függően, hogy melyik áll rendelkezésére API-dokumentációból, naplósorból vagy hibajelentésből.

A JSONPath-támogatás azokat a mintákat fedi le, amelyeket az emberek valóban használnak: pont- és szögletes zárójel-jelölés ($.user.name vagy $['user name'] szóközt tartalmazó kulcsokhoz), a [*] helyettesítő a tömb összes elemén vagy objektum értékein való szétterítéshez, numerikus indexek, beleértve a negatív indexeket az elejétől számolva ($.items[-1]), és .. rekurzív ereszkedés a kulcsok megtalálásához bármilyen mélységben, függetlenül attól, hogy milyen mélyen vannak beágyazva ($..email). A szűrt kifejezések és szeletartományok nem támogatottak — ha a lekérdezése feltételes logikát igényel, először nyerje ki a szülőtömböt, majd szűrje azt.

Két lehetőség formálja a kimenetet. A „Sorok listája” minden található értéket saját sorba nyomtat — a karakterláncok változatlanul kerülnek kinyomtatásra, az objektumok és tömbök kompakt JSON-ként jelennek meg —, ami kényelmes közvetlenül más sorvonalas eszközökhöz, mint a sort vagy dedupe. A „JSON tömb” minden egyezést egyetlen JSON tömbbe csomagol, hasznos, ha az eredeti dokumentum tiszta, értelmezhető részhalmazát szeretné. Kapcsolja be az „Útvonal megjelenítése minden egyezéshez” lehetőséget, hogy az egyes eredmények elé az oldott útvonalat helyezze, ami akkor hasznos, ha több különböző mező is plauszan magyarázhat egy adott értéket.

Minden helyileg fut a böngészőben: a beillesztett dokumentum és az írott kifejezés soha nem kerül sehova feltöltésre. Ez biztonságossá teszi a valódi API-válaszok, belső konfigurációexportok vagy éles naplóinak részleteinek mutatására. A kimenet alatti összesítések pontosan megadják, hogy hány egyezés található, így egy váratlanul üres eredmény könnyen megkülönböztethető egy olyan lekérdezéstől, amely csendesen semmit sem adott vissza.

Gyakori kérdések

Mi a különbség a JSONPath és a JSON Pointer között?
A $.users[*].email-hez hasonló JSONPath-kifejezések helyettesítő karakterek és rekurzív ereszkedés használatával egyszerre több értékhez is illeszkedhetnek. A /users/0/email-hez hasonló JSON Pointer-hivatkozások mindig legfeljebb egy értékhez oldódnak fel — ez egy egyszerűbb, szószerinti címzési séma, amely gyakori a JSON Schema-ban és a HTTP PATCH-terhelésekben.
Mely JSONPath-funkciók támogatottak?
Pont- és szögletes zárójel-jelölés, a [*] helyettesítő, numerikus tömbindexek (beleértve a negatívakat) és .. rekurzív ereszkedés a kulcshoz bármilyen mélységben. A [?(@.price<10)] szűrt kifejezések és a [0:2] szeletartományok nem támogatottak.
Mi történik, ha a kifejezésem semmire nem illeszkedik?
Üres eredményt és 0 egyezés összegét kapja — ezt nem kezeljük hibáként. A hiba csak érvénytelen JSON-bemenetre vagy helytelenül formázott kifejezésre jelenik meg.
Láthatom, honnan származik minden érték?
Kapcsolja be az „Útvonal megjelenítése minden egyezéshez” lehetőséget, és minden eredmény az azt megtaláló pontos útvonal előtagját kapja meg, ugyanabban a szintaxisban, mint a lekérdezés — JSONPath-útvonalak, mint a $.users[0].email, vagy az eredeti mutató JSON Pointer-lekérdezésekhez.
A JSON-dokumentumom valahova feltöltésre kerül?
Nem. Az elemzés és a lekérdezések feldolgozása teljes egészében a böngészőben történik — a dokumentum és a kifejezés soha nem hagyja el az eszközöt.