Skip to main content

JSON

Select JSON Result#

All SeaORM selects are capable of returning serde_json::Value.

// Find by idlet cake: Option<serde_json::Value> = Cake::find_by_id(1)    .into_json()    .one(db)    .await?;
assert_eq!(    cake,    Some(serde_json::json!({        "id": 1,        "name": "Cheese Cake"    })));
// Find with filterlet cakes: Vec<serde_json::Value> = Cake::find()    .filter(cake::Column::Name.contains("chocolate"))    .order_by_asc(cake::Column::Name)    .into_json()    .all(db)    .await?;
assert_eq!(    cakes,    vec![        serde_json::json!({            "id": 2,            "name": "Chocolate Forest"        }),        serde_json::json!({            "id": 8,            "name": "Chocolate Cupcake"        }),    ]);
// Paginate json resultlet cake_pages: Paginator<_> = Cake::find()    .filter(cake::Column::Name.contains("chocolate"))    .order_by_asc(cake::Column::Name)    .into_json()    .paginate(db, 50);
while let Some(cakes) = cake_pages.fetch_and_next().await? {    // Do something on cakes: Vec<serde_json::Value>}