JSONの検索方法 — キー・値・ネスト構造を探す
JSONドキュメント内を即座に検索。JSONPath式、テキスト検索、ツリーナビゲーションで、キー・値・深くネストされたデータを見つけられます。
JSONPath式を入力してマッチを表示
JSON検索テクニック
あらゆるJSON構造からデータを素早く見つけるためのアプローチ。
簡単な検索にはテキスト検索から
エディタでCtrl+F(Cmd+F)を押すだけでテキストマッチ。正確な値やキー名がわかっている場合、最も手軽な方法です。
深い検索には$..を使う
JSONPathの再帰探索オペレーター($..key) はすべての深さレベルでキーを検索します。$..nameで階層のどこにあっても'name'フィールドをすべて見つけられます。
配列を条件でフィルタリング
JSONPathフィルター式で配列を値で絞り込み。$.products[?( inStock == true )]は在庫ありの商品のみ返します。フィールド選択と組み合わせ可能:$.products[?( price < 50 )].name。
構造不明の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 ツールも活用してワークフローを効率化しましょう。