rust - serde_json到json在柴油数据库对象中打印附加字符串\r和\n

标签 rust serde rust-diesel serde-json

Playground link

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/

相关文章:

multithreading - 如何获得唯一的线程标识符?

rust - 函数返回 serde 反序列化类型时如何修复生命周期错误?

rust - 使用 Serialize 和 DeserializeOwned 作为 super 特征时无法解析 `T: serde::Deserialize<' de>`

rust - 尝试使用 Diesel 查询时溢出评估需求 `_: Sized`

rust - 如何在柴油中实现嵌套过滤器?

json - 同时支持 serde_json::Value 和 cbor_json::Value

json - 如何编写 Serde Visitor 将字符串数组转换为 Vec<Vec<f64>>?

forms - 使用 Rocket 中的结构解析 HTTP 多部分 POST

csv - 在 Rust 中使用带有 serde 的嵌套枚举/结构序列化/反序列化 CSV

rust - 如何在 Diesel 中针对 Postgres 数据库执行带有子查询的删除?