Rust 如何解析URL查询字符串并从中创建用户指定的结构?

Rust 如何解析URL查询字符串并从中创建用户指定的结构?,rust,Rust,为我的问题添加更多细节,我需要一个函数来解析URL查询字符串并基于结构类型创建结构,如: 结构对象{ 键:字符串, 关键词2:Vec, }; 让obj:obj=parse(“…example.com/path?key=value&key1=value1&key2=value2”)?; //应该返回>Obj{key:“value”,key2:[“value1”,“value2”]} 让_obj:obj=parse(“…example.com/path?key2=value1&key2=value2

为我的问题添加更多细节,我需要一个函数来解析URL查询字符串并基于结构类型创建结构,如:

结构对象{ 键:字符串, 关键词2:Vec, }; 让obj:obj=parse(“…example.com/path?key=value&key1=value1&key2=value2”)?; //应该返回>Obj{key:“value”,key2:[“value1”,“value2”]} 让_obj:obj=parse(“…example.com/path?key2=value1&key2=value2”)?; //应返回错误,因为'key'不存在, 结构NewObj{ 键:字符串, 键2:u8, 键3:布尔, } 让new_obj:NewObj=parse(“…example.com/path?key=value&key1=255&key3=true”)?; //应该返回>NewObj{key:“value”,key2:255,key3:true} 您可以使用将查询字符串序列化为结构:

从他们的文档页面:

#[宏使用]
外部板条箱serde_;
外部板条箱作为qs;
#[派生(调试、PartialEq、反序列化、序列化)]
结构地址{
城市:字符串,
邮编:String,
}
#[派生(调试、PartialEq、反序列化、序列化)]
结构查询参数{
id:u8,
名称:String,
地址:地址:,
电话:u32,
用户ID:Vec,
}
设params=QueryParams{
id:42,
名称:“Acme.to_string(),
电话:12345,
地址:地址{
城市:“胡萝卜之城”。to_string(),
邮政编码:“12345”。至_string(),
},
用户ID:vec![1,2,3,4],
};
让rec_params:QueryParams=qs::from_str(“\
name=Acme&id=42&phone=12345&address[postcode]=12345&\
地址[城市]=胡萝卜+城市和用户标识[0]=1和用户标识[1]=2&\
用户标识[2]=3和用户标识[3]=4”)
.unwrap();
断言!(记录参数,参数);

编写一个由
Obj
NewObj
实现的特征,描述如何从查询参数构造它们。“其他人应该很容易从中摆脱出来。”谢普马斯特,这就是答案!,像
api
?知道如何实施吗!?编辑您的文档以包含必要的详细信息,并请求重新打开,而不是发布副本。(看起来你已经编辑了原稿,所以这一步已经完成)我知道
serde_qs
,但我想学习如何在rust中做到这一点,我还试图理解
serde_qs
的实现