use serde_json::json; // 1.0.57
fn main() {
let users = vec![Users {
id : 10,
username : "test".to_string(),
password : "pass".to_string()
}];
for user in &users {
println!("I print id:{},password:{},username:{} ",user.id, user.password, user.username);
}
println!("json_serde prints {}",json!(&users));
let serialized = serde_json::to_string(&users).unwrap();
println!("Different serde: {}",serialized);
}
#[derive(Serialize, Deserialize)]
pub struct Users {
pub id: i32,
pub username: String,
pub password: String,
}
它工作完美,但是在我的服务器上我得到了I print id:4,password:test, username:test
json_serde prints [{"id":4,"password":"test\r\n","username":"test\r"}]
唯一的区别是我从数据库获取数据柴油查询
let users = users
.filter(id.eq(p_id))
.limit(10)
.load::<Users>(&connection)
.expect("Error loading posts"),
model.rs中的实际用户 #[derive(Queryable)]
#[derive(Serialize, Deserialize)]
pub struct Users {
pub id: i32,
pub username: String,
pub password: String,
}
人妖 table! {
users (id) {
id -> Int4,
username -> Varchar,
password -> Varchar,
}
}
最佳答案
我忘了修剪输入内容,所以serde_json是正确的
关于rust - serde_json到json在柴油数据库对象中打印附加字符串\r和\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63969878/