Oh MyUtils

JSONPathテスター - JSONPath式をオンラインで評価

JSONデータに対してJSONPath式をリアルタイムでテスト・評価します。フィルター、再帰探索、配列スライスなどに対応 — 100%クライアントサイド処理。

よくある質問

JSONPathとは何ですか?

JSONPathは、XMLのXPathに似たJSONデータ用のクエリ言語です。2024年2月にIETFによりRFC 9535として標準化されました。JSONPathを使用すると、$.store.book[0].titleのようなパス式を使用して、JSONドキュメントから特定の値を選択・抽出できます。

JSONPathテスターの使い方は?

JSON入力エリアにJSONデータを貼り付けるか(またはSampleをクリックしてサンプルデータを読み込み)、式フィールドにJSONPath式を入力してください。入力中にリアルタイムで自動的に結果が表示されます。結果をコピーしたり、例パネルから異なる式を試すことができます。

データは安全ですか?

はい。すべての処理は100%ブラウザ内で行われます。JSONデータとJSONPath式がサーバーに送信されることはありません。本番APIレスポンス、シークレットを含む設定ファイル、その他の機密データにも安全にご利用いただけます。

どのJSONPath構文がサポートされていますか?

標準的なJSONPath演算子をサポートしています:ルート($)、子(. または [])、再帰探索(..)、ワイルドカード(*)、配列インデックス([n])、配列スライス([start:end:step])、フィルター式([?()])。RFC 9535標準を拡張したJSONPath-Plusライブラリを使用しています。

サポートされる最大JSONサイズは?

最大5MBのJSONデータをサポートしています。リアルタイム評価の最適なパフォーマンスには、1MB未満のJSONを推奨します。より大きなデータセットでは、評価中にわずかな遅延が発生する場合があります。

JSONPathとJMESPathの違いは?

JSONPath(RFC 9535)とJMESPathはどちらもJSONクエリ言語ですが、構文と機能が異なります。JSONPathは$をルートとして.でトラバーサルし(例:$.store.book[*].author)、JMESPathは異なる構文を使用します(例:store.book[*].author)。JSONPathの方が広く知られています。JMESPathはAWS CLIで広く使用されています。

コード例

// Using jsonpath-plus in Node.js
const { JSONPath } = require('jsonpath-plus');

const data = {
  store: {
    book: [
      { category: "fiction", author: "Tolkien", title: "The Lord of the Rings", price: 22.99 },
      { category: "reference", author: "Nigel Rees", title: "Sayings of the Century", price: 8.95 }
    ]
  }
};

// Basic query
const authors = JSONPath({ path: '$.store.book[*].author', json: data });
console.log(authors); // ["Tolkien", "Nigel Rees"]

// Filter expression
const cheapBooks = JSONPath({ path: '$.store.book[?(@.price < 10)]', json: data });
console.log(cheapBooks); // [{ category: "reference", ... }]

// Recursive descent
const allPrices = JSONPath({ path: '$..price', json: data });
console.log(allPrices); // [22.99, 8.95]

関連ツール