JSONの検索方法 — キー・値・ネスト構造を探す

JSONドキュメント内を即座に検索。JSONPath式、テキスト検索、ツリーナビゲーションで、キー・値・深くネストされたデータを見つけられます。

1
2
3
JSON Data
結果

JSONPath式を入力してマッチを表示

$.store.book[*].author
$..price
$.store.book[?(@.price<10)]

JSON検索テクニック

あらゆるJSON構造からデータを素早く見つけるためのアプローチ。

1

簡単な検索にはテキスト検索から

エディタでCtrl+F(Cmd+F)を押すだけでテキストマッチ。正確な値やキー名がわかっている場合、最も手軽な方法です。

2

深い検索には$..を使う

JSONPathの再帰探索オペレーター($..key) はすべての深さレベルでキーを検索します。$..nameで階層のどこにあっても'name'フィールドをすべて見つけられます。

3

配列を条件でフィルタリング

JSONPathフィルター式で配列を値で絞り込み。$.products[?( inStock == true )]は在庫ありの商品のみ返します。フィールド選択と組み合わせ可能:$.products[?( price < 50 )].name。

4

構造不明のJSONにはツリービュー

JSON構造がわからないときはツリービューが最適です。まず深さ1で折りたたんだ状態から全体構成を把握し、関連しそうなブランチを展開していきましょう。

強力なJSON検索機能

複数の方法でJSONドキュメント内のデータを正確に見つけられます。

JSONPathクエリ言語

$.users[*].nameのようなJSONPath式で複雑な構造から特定フィールドを抽出。ワイルドカード、フィルター、再帰探索に対応。

エディタ内テキスト検索

Ctrl+F(Macの場合Cmd+F)でJSONエディタ内のテキストを検索。すべてのマッチをハイライトし、次の結果に順番にジャンプできます。

インタラクティブなツリー表示

折りたたみ可能なツリービューでJSONを視覚的に探索。ノードの展開・折りたたみで、クエリを書かなくてもネスト構造を掘り下げられます。

JSON検索の完全ガイド

JSON検索は3つのレベルに分かれます:テキスト検索(リテラル文字列の検索)、構造検索(キーパスによるナビゲーション)、クエリ検索(JSONPathによるフィルタリングと抽出)。データの把握度と抽出目的に応じて最適な方法を選びましょう。

JSON検索クイックリファレンス

テキスト検索 (Ctrl+F) — 既知の文字列に最速。正確なテキストがわかっている場合に使用。

$..keyName — 任意の深さでキーを再帰検索。キーはあるが場所が不明な場合に使用。

$.path[?( field == value )] — 条件フィルター。フィールド値でレコードをマッチングする場合に使用。

JSONの検索方法 — よくある質問

JSONの特定のキーを検索するには?

JSONPathの再帰探索オペレーター$..keyNameを使います。ドキュメント全体のすべての深さレベルを検索し、どれだけ深くネストされていても、そのキー名に関連するすべての値を返します。

大きなJSONファイル内で値を見つけるには?

エディタのテキスト検索(Ctrl+FまたはCmd+F)で文字列をそのまま検索できます。構造化検索には、$.data[?( status == 'active' )]のようなJSONPathフィルター式で特定の値に一致するオブジェクトを見つけられます。

JSONPathとは何で、どう使う?

JSONPathはXMLのXPathに相当するJSON用クエリ言語です。$(ルート)から始まるパス式でドキュメントを辿ります。例えば$.store.book[0].titleでstoreオブジェクト内の最初のbookのtitleを取得できます。

JavaScriptでJSONを検索するには?

JavaScriptではObject.keys()でキーを検索、JSON.stringify()とincludes()でテキスト検索、jsonpath-plusのようなJSONPathライブラリで複雑なクエリを実行できます。簡単なアクセスにはオプショナルチェーン:data?.users?.[0]?.name。

PythonでJSONを検索するには?

Pythonでは辞書の.get()や.items()メソッドで簡単な検索ができます。複雑なクエリにはjsonpath-ngライブラリを使用:from jsonpath_ng import parse; results = parse('$.users[*].name').find(data)。

コマンドラインでJSONを検索するには?

select(.age > 30)' data.json で30歳超のユーザーを検索。jq '..

構造を知らなくてもJSONを検索できる?

はい。再帰探索オペレーター$..*ですべての値を取得、または$..keyNameで任意の深さのキーを検索できます。ツリービューでもノードを段階的に展開して未知の構造を視覚的に探索できます。

JSON配列を条件でフィルタリングするには?

JSONPathフィルター式を使います:$.items[?( price less than 20 )]はpriceが20未満のアイテムを返します。条件の組み合わせや、等号・不等号・大小比較などの演算子が使えます。

複数のキーを同時に検索するには?

各キーに個別のJSONPathクエリを使うか、再帰探索オペレーターで各キー名を指定:$..firstNameと$..lastName。jqでは:jq '.[]

VS CodeでJSONを検索する方法は?

VS CodeにはCtrl+Fのテキスト検索が内蔵されています。JSONPathクエリには「JSONPath StatusBar」や「JSON Tools」などの拡張機能をインストール。VS Codeで扱いにくい大きなファイルには、このオンラインツールをご利用ください。

関連ツール

ほかの JSON ツールも活用してワークフローを効率化しましょう。