JSONPath比較演算子 — ==, !=, <, >, <=, >=
JSONPathフィルタ式の比較演算子の完全ガイド。==, !=, <, >, <=, >= の型変換ルールと実践例を学びます。
Filters
詳細な説明
JSONPathにおける比較演算子
比較演算子はフィルタ式 [?()] の内部で使用され、要素の値を条件に対してテストします。JSONPathは文字列、数値、ブール値、nullで動作する6つの標準比較演算子をサポートしています。
演算子リファレンス
| 演算子 | 名前 | 例 |
|---|---|---|
== |
等しい | @.status == "active" |
!= |
等しくない | @.role != "guest" |
< |
より小さい | @.age < 18 |
> |
より大きい | @.score > 90 |
<= |
以下 | @.price <= 100 |
>= |
以上 | @.rating >= 4.0 |
文字列比較
文字列比較は辞書順序を使用します:
$.products[?(@.name > "Laptop")] // "Laptop" よりアルファベット順で後のもの
$.products[?(@.name == "Mouse")] // 完全な文字列一致
型変換
ほとんどのJSONPath実装は厳密な型比較を行います:
"5" == 5はfalse(文字列 vs. 数値)true == 1はfalse(ブール値 vs. 数値)null == falseはfalse(null vs. ブール値)
複数条件の組み合わせ
論理演算子を使って比較を組み合わせます:
$.products[?(@.price >= 50 && @.price <= 500)] // 価格範囲
$.products[?(@.rating > 4.0 && @.inStock == true)] // 高評価かつ在庫あり
ユースケース
価格範囲内の商品の検索、特定の年齢以上のユーザーの選択、特定のステータス値を持つレコードの特定、JSON APIを消費するアプリケーションでの検索・フィルタ機能の実装などのデータフィルタリングシナリオに使用します。