[][src]Function qifi_rs::func::from_str

pub fn from_str(data: &str) -> Option<Value>

2020-3-27 14:16 @somewheve 将&str转换为Value类型的数据, 在出现错误的时候返回一个None, 你需要合理的处理这个问题 出于你可能想对自己的数据格式进行修改考虑,我在此仅仅返回了Option,方便你进行自己的处理 你仍然可以使用我们提供的from_serde_value或者serde_json::from_value来进行转换成struct. ps: 他们是一样,取决于你想不想再导入serde_json户 Examples

use qifi_rs::from_str;
use serde_json::Value;
let qifi_string = r#"{"account_cookie": "T01B2_IF2004_1min", "password": "T01B2_IF2004_1min", "accounts": {"user_id": "T01B2_IF2004_1min", "currency": "CNY", "pre_balance": 1000000, "deposit": 0, "withdraw": 0, "WithdrawQuota": 0, "close_profit": 0, "commission": 0, "premium": 1330, "static_balance": 1000000, "position_profit": 0, "float_profit": 0, "balance": 1000000, "margin": 0, "frozen_margin": 0, "frozen_commission": 0.0, "frozen_premium": 0.0, "available": 1000000, "risk_ratio": 0.0}, "bank_password": "", "bankid": "QASIM", "bankname": "QASIMBank", "banks": {"QASIM": {"id": "QASIM", "name": "QASIMBank", "bank_account": "", "fetch_amount": 0.0, "qry_count": 0}}, "broker_name": "QAPaperTrading", "capital_password": "", "databaseip": "", "event": {}, "frozen": {}, "investor_name": "", "model": "SIM", "money": 1000000, "orders": {}, "ping_gap": 5, "portfolio": "QAPaperTrade", "positions": {}, "pub_host": "", "settlement": {}, "sourceid": "QIFI_Account", "status": 200, "taskid": "", "trade_host": "", "trades": {}, "trading_day": "2020-03-26", "transfers": {}, "updatetime": "", "wsuri": "ws://www.yutiansut.com:7988"}"#;
let qifi: Value = from_str(qifi_string).unwrap();
let _deserialize = serde_json::to_string(&qifi).expect("呀 反序列化失败,请检查你的字符串格式");