# `Selecto.Advanced.JsonOperations`

JSON operations support for PostgreSQL JSON and JSONB functionality.

Provides comprehensive support for JSON path queries, aggregation, manipulation,
and testing functions. Works with both JSON and JSONB column types with 
automatic type detection and optimization.

## Examples

    # JSON path extraction
    selecto
    |> Selecto.select([
        {:json_extract, "metadata", "$.category", as: "category"},
        {:json_extract, "metadata", "$.specs.weight", as: "weight"}
      ])
    
    # JSON aggregation
    selecto
    |> Selecto.select([
        {:json_agg, "product_name", as: "products"},
        {:json_object_agg, "product_id", "price", as: "price_map"}
      ])
    |> Selecto.group_by(["category"])
    
    # JSON filtering
    selecto
    |> Selecto.filter([
        {:json_contains, "metadata", %{"category" => "electronics"}},
        {:json_path_exists, "metadata", "$.specs.warranty"}
      ])

# `create_json_operation`

Create a JSON extraction operation specification.

# `filter_operation?`

Determine if an operation is suitable for WHERE clauses.

# `select_operation?`

Determine if an operation is suitable for SELECT clauses.

# `validate_json_operation`

Validate a JSON operation specification.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
