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" == 5false(文字列 vs. 数値)
  • true == 1false(ブール値 vs. 数値)
  • null == falsefalse(null vs. ブール値)

複数条件の組み合わせ

論理演算子を使って比較を組み合わせます:

$.products[?(@.price >= 50 && @.price <= 500)]       // 価格範囲
$.products[?(@.rating > 4.0 && @.inStock == true)]   // 高評価かつ在庫あり

ユースケース

価格範囲内の商品の検索、特定の年齢以上のユーザーの選択、特定のステータス値を持つレコードの特定、JSON APIを消費するアプリケーションでの検索・フィルタ機能の実装などのデータフィルタリングシナリオに使用します。

試してみる — JSON Path Evaluator

フルツールを開く