json_type

Function json_type 

Source
pub fn json_type<J: JsonOrNullableJsonOrJsonbOrNullableJsonb + MaybeNullableValue<Text>, j>(
    j: j,
) -> json_type<J, j>
where j: AsExpression<J>,
Available on crate feature sqlite only.
Expand description

The json_type(X) function returns the “type” of the outermost element of X. The “type” returned by json_type() is one of the following SQL text values: ‘null’, ‘true’, ‘false’, ‘integer’, ‘real’, ‘text’, ‘array’, or ‘object’.

This function requires at least SQLite 3.38 or newer

§Example


let result = diesel::select(json_type::<Json, _>(json!({"a": [2, 3.5, true, false, null, "x"]})))
    .get_result::<String>(connection)?;

assert_eq!("object", result);

let result = diesel::select(json_type::<Jsonb, _>(json!({"a": [2, 3.5, true, false, null, "x"]})))
    .get_result::<String>(connection)?;

assert_eq!("object", result);

let result = diesel::select(json_type::<Nullable<Json>, _>(None::<serde_json::Value>))
    .get_result::<Option<String>>(connection)?;

assert_eq!(None, result);