pub fn array_to_json<Arr: ArrayOrNullableArray + MaybeNullableValue<Json>, array>(
array: array,
) -> array_to_json<Arr, array>where
array: AsExpression<Arr>,
Available on crate feature
postgres_backend
only.Expand description
Converts any Array to json.
ยงExample
let json = diesel::select(array_to_json::<Array<Integer>, _>(vec![1, 2, 3, 4, 5]))
.get_result::<Value>(connection)?;
let expected:Value = serde_json::json!([1, 2, 3, 4, 5]);
assert_eq!(expected,json);
let json = diesel::select(array_to_json::<Array<Text>,_>(vec!["hello","world","John","Doe"]))
.get_result::<Value>(connection)?;
let expected:Value = serde_json::json!(["hello","world","John","Doe"]);
assert_eq!(expected,json);
let empty:Vec<String> = Vec::new();
let json = diesel::select(array_to_json::<Array<Nullable<Text>>,_>(empty))
.get_result::<Value>(connection)?;
assert_eq!(serde_json::json!([]),json);
let json = diesel::select(array_to_json::<Nullable<Array<Integer>>, _>(None::<Vec<i32>>))
.get_result::<Option<Value>>(connection)?;
assert_eq!(None, json);