JMESPath Testeci

JSON ve JMESPath tarzı ifadeleri yapıştır items[0].name veya items* gibi Proje edilen sonuçları görmek için. AWS CLI, Azure ve birçok bulut API ' si tarafından kullanılır.

Gizlilik: yerel olarak işlenir, asla yüklenmez.

Anında sonuçları görmek için aşağıdaki giriş alanına yapıştırın

在 JSON 上测试 JMESPath 风格表达式; 支持 field、index 与 * 通配。

JMESPath 表达式

JSON 输入

粘贴要查询的 JSON 文档。

查询结果

"a"

Notlar

说明

支持 items[0].name、items.* 等常用子集; 复杂投影函数请用完整 JMESPath 库。本地处理。

JSON ve JMESPath tarzı ifadeleri yapıştır items[0].name veya items* gibi Proje edilen sonuçları görmek için. AWS CLI, Azure ve birçok bulut API ' si tarafından kullanılır.

Hızlı başlangıç

  1. İfadeyi girin

    field, field[0], * wildcard.

  2. Yapıştır JSON

    AWS CLI --query'ye benzer alt küme.

  3. Çıktı kopyala

    Dosyalarda veya dosyalarda kullanın.

JMESPath kullanım durumları

Büyük JSON yanıtlarından alanları, listeleri veya yuvalanmış değerleri ayıklayın; sözdizimi JSONPath-bulut belgeleri takip etmekten farklıdır.

Tipik iş akışı

Tipik bir JMESPath iş akışı üç adımı içerir: İlk olarak ham JSON verilerini yapıştırın (örneğin AWS CLI çıkışı), ardından bir sorgu ifadesi girin (örneğin `Rezervasyonlar[*].Instance[*].InstanceId` gibi tüm EC2 örnek kimliklerini çıkarmak için) ve nihayet gerçek zamanlı olarak filtrelenmiş sonuçları görüntüleyin. Bu etkileşimli yaklaşım, karmaşık iç içe veri çıkarma hata ayıklama için idealdir.

Gelişmiş kullanım, boru operatörleri ile çok adımlı işlemeyi içerir (`|`), örneğin filtrelerden sonra sıralama: `sort_by(Instances, &State.Name)[*].InstanceId`. Araç çıkışları otomatik olarak biçimlendirir ve özellikle bulut API yanıtlarına karşı ifadeleri doğrulamak için kullanışlıdır (örneğin 100 S3 kovalarını listelemek).

Örnekler

Örnek

Input

items[0].name on {"items":[{"name":"a"}]}

Output

"a"

FAQ

JSONPath ile mi?

Farklı sözdizimi ve fonksiyonlar; AWS / Azure JMESPath tercih, front-end / Node genellikle JSONPath kullanır.

Yerel mi?

Evet, evet. JSON tarayıcınızdan asla ayrılmaz.

Neden JMESPath ifademi boş sonuçlar döndürüyor?

Üç olası neden: 1) JSON yapısı uyumsuzluğu (ham verileri denetlemek için `@` sembolü kullanın); 2) Aşırı sıkı filtreler (örneğin `[? State=='running']` when no instances are running); 3) Unhandled nested arrays (requires `[*]` flattening). Basit ifadelerle başlayın ve kademeli olarak inşa edin.