Serde 多種型別轉換

2022-09-23 16:54:11 字數 971 閱讀 2956

參考:

如果在 json 中某個欄位有多種型別,可以使用下面的方式處理。

use serde::;

#[derive(serialize, deserialize, debug)]

struct person

#[derive(deserialize)]

#[serde(untagged)] // 列舉型別的無標籤方式

enum stroru16

fn from_str<'de, d>(deserializer: d) -> resultwhere

d: deserializer<'de>,)}

fn main() "#;

println!("", serde_json::from_str::(json).unwrap());

// 數字型別的 age

let json = r#""#;

println!("", serde_json::from_str::(json).unwrap());

}

use serde::deserialize;

#[derive(deserialize, debug)]

struct person

#[derive(deserialize, debug)]

#[serde(untagged)] // 列舉型別的無標籤方式

enum stroru16

fn main() "#;

println!("", serde_json::from_str::(json).unwrap());

let json = r#""#;

println!("", serde_json::from_str::(json).unwrap());

}

使用 serde 反序列化時,如果 json 中的型別和程式中的型別不匹配,可以使用上面的方式轉換。

listview 多種型別

1.type count 2,type position 3,getview by type override public int getitemviewtype int position else return type override public int getviewtypecount ...

JS上傳多種型別引數

以前用form表單提交引數遇到過只能傳單一引數的情況,如果要上傳file檔案,將表單型別裡要寫enctype multipart form data 但是一旦表單裡還有一些普通引數的話,這個表單就只能提交檔案,提交不了剩餘普通引數。當遇到這種復合表單提交的情況時,我的解決方案是 利用formdata...

MySQL索引的多種型別

在資料之外,資料庫系統還維護著滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料,這樣就可以在這些資料結構上實現高階查詢演算法。這種資料結構,就是索引。下圖就是一種可能的索引方式示例 左邊是資料表,一共有兩列七條記錄,最左邊的是資料記錄的實體地址 為了加快col2的查詢,可以維護乙...