微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决serde_json到json在柴油数据库对象中打印附加字符串\ r和\ n

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=dd192960ff73f3cc1f2d9ac8525a5531

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,}

shema.rs

 table! {
        users (id) {
            id -> Int4,username -> Varchar,password -> Varchar,}
    }

解决方法

我忘记整理输入内容,所以serde_json是正确的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。