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.

  1. A Szerkesztés gombra kattintva váltson szerkesztési módra a munkafüzetben.

  2. A Lekérdezés hozzáadása>hivatkozással lekérdezésvezérlőt adhat hozzá a munkafüzethez.

  3. Válassza ki az adatforrást JSON-ként.

  4. 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
        }
      }
    }
    
  5. Válassza az Eredmény Gépház lapot, és állítsa az eredményformátumot JSON-elérési útra.

  6. 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.

  7. Válassza a Lekérdezés futtatása lehetőséget.

    Screenshot that shows editing a query item with JSON data source and JSON path result format.

É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:

  1. Válassza ki a rács Közzétett sorát.

  2. A Típus mezőben válassza a Dátum/idő lehetőséget, hogy az oszlop használható legyen a diagramokban.

  3. 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.
  4. 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).

  5. Futtassa újra a lekérdezést.

    Screenshot that shows JSONpath converted to date-time format.

További lépések