Может ли ящик BSON или JSON автоматически преобразовывать число без знака в строке в плавающее число, когда находит его? - PullRequest
0 голосов
/ 23 мая 2019

У меня есть строка, которую я хотел бы преобразовать в BSON. Это работает за исключением случаев, когда мое тело содержит атрибут с номером в нем. Я получаю ошибку:

парсинг не удался BSON не поддерживает тип без знака

Я обнаружил, что должен иметь возможность создать структуру, которая реализует Serialize и Deserialize для решения моей проблемы, но я не знаю, что находится в теле моей структуры (и это может измениться с много возможностей).

let bson_string = r#"{ "user-agent": "blablabla", "userid": "XXXXXXXX.XXXXXXXX", "session": { "XXXXXXX": [{ "body": {"type":"input","payload":{"id":"email","length":1},"url":"https://blablabla.com/paiement/offres/pack-simple/Y8s2cdZ1vU/auth"}, "origin": "https://blablabla.com" }] } }"#;

let json: Value = match serde_json::from_str(&bson_string){
    Ok(val) => val,
    Err(err) => {
        println!("from_str err: {:?}", err);
        serde_json::Value::Null
    }
};
let v = match mongodb::to_bson(&json) {
    Ok(val) => val,
    Err(err) => {
        println!("to_bson err: {:?}", err);
        mongodb::Bson::Null
    }
};
v
...