JSONPath használata A JSON-adatok átalakítása munkafüzetekben
A munkafüzetek több forrásból is lekérdezhetik az adatokat. Egyes végpontok, például az Azure Resource Manager vagy az egyéni végpontok JSON-ban adhatják vissza az eredményeket. Ha a lekérdezett végpont által visszaadott JSON-adatok nem kívánt formátumban vannak, a JSONPath-átalakítással táblázatstruktúrává alakíthatja a JSON-t. Ezután a táblázat segítségével ábrázolhatja a munkafüzetek vizualizációit.
A JSONPath a JSON lekérdezési nyelve, amely hasonló az XML-hez készült XPath-hoz. Az XPath-hoz hasonlóan a JSONPath is lehetővé teszi az adatok kinyerását és szűrését a JSON-struktúrából.
A JSONPath használata
Ebben a példában a JSON-objektum egy áruház készletét jelöli. Létrehozunk egy táblázatot az áruház elérhető könyveinek címéről, szerzőiről és árairól.
A Szerkesztés gombra kattintva váltson szerkesztési módra a munkafüzetben.
A Lekérdezés hozzáadása>hivatkozással lekérdezésvezérlőt adhat hozzá a munkafüzethez.
Válassza ki az adatforrást JSON-ként.
A JSON-szerkesztő használatával írja be a következő JSON-kódrészletet:
{ "store": { "books": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } } }
Válassza az Eredmény Gépház lapot, és állítsa az eredményformátumot JSON-elérési útra.
Alkalmazza a következő JSON-elérésiút-beállításokat:
JSON-elérési út táblázata:
$.store.books
. Ez a mező a tábla gyökerének elérési útját jelöli. Ebben az esetben a bolt könyvleltárával foglalkozunk. A táblázat elérési útja szűri a JSON-t a könyv adataira.Oszlopazonosítók Oszlop JSON-elérési útjai Cím $.title
Szerző $.author
Ár $.price
Az oszlopazonosítók az oszlopfejlécek. Az oszlop JSON-elérési útjai a tábla gyökerétől az oszlopértékig vezető útvonalat jelölik.
Válassza a Lekérdezés futtatása lehetőséget.
Értékek konvertálása reguláris kifejezések használatával
Előfordulhat, hogy vannak olyan adatok, amelyek nem szabványos formátumúak. Az adatok hatékony használatához ezeket az adatokat szabványos formátumba szeretné konvertálni.
Ebben a példában a közzétett dátum YYYYMMMDD formátumban van. A kód ezt az értéket numerikus értékként, nem szövegként értelmezi, így a dátum helyett helyesen igazított számokat eredményez.
A Típus, a RegEx Egyezés és a Csere mezővel az eredménybeállításokban igaz dátummá alakíthatja az eredményt.
Eredménybeállítás mező | Leírás |
---|---|
Típus | Lehetővé teszi az API által visszaadott érték típusának explicit módosítását. Ez a mező általában nem jelenik meg, de ezzel a mezővel kényszerítheti az értéket egy másik típusra. |
Regex mérkőzés | Lehetővé teszi egy reguláris kifejezés megadását, amely az API által visszaadott érték egy részét (vagy részeit) veszi figyelembe a teljes érték helyett. Ez a mező általában a Csere mezővel van kombinálva. |
Csere a következőre | Ezzel a mezővel hozza létre az új értéket a reguláris kifejezéssel együtt. Ha ez az érték üres, az alapértelmezett érték $& a kifejezés egyező eredménye. A string.replace dokumentációban megtekintheti az egyéb kimenetek létrehozásához használható értékeket. |
Az YYYYMMDD formátum átalakítása YYYYY-MM-DD formátumba:
Válassza ki a rács Közzétett sorát.
A Típus mezőben válassza a Dátum/idő lehetőséget, hogy az oszlop használható legyen a diagramokban.
A Regex Egyezés mezőben használja a következő reguláris kifejezést:
([0-9]{4})([0-9]{2})([0-9]{2})
. Ez a reguláris kifejezés:- egy négyjegyű számot, majd egy kétjegyű számot, majd egy másik kétjegyű számot.
- A következő lépésben használandó zárójelek rögzítik a csoportokat.
A Csere a következő reguláris kifejezéssel
$1-$2-$3
: . Ez a kifejezés minden rögzített csoporthoz létrehoz egy új sztringet, közöttük egy kötőjellel, a "12345678" pedig "1234-56-78" lesz).Futtassa újra a lekérdezést.