1.rust json库
-
serde_json
-
Rust中最流行的JSON库之一,可以用于序列化和反序列化JSON数据。它与serde库集成,Rust数据结构和JSON可以互转。
-
json-rust
-
轻量级JSON库,在处理小型JSON数据的时候非常方便,而且易于使用。
-
rustc-serialize
-
Rust标准库中的JSON库,提供了对JSON数据的序列化和反序列化支持,但已经被推荐使用serde_json来替代。
-
json5-rust
-
用于解析和序列化JSON5格式数据的Rust库。JSON5是对JSON语法的扩展,可以更加灵活地表示JSON数据。用于配置文件,来解析配置文件。或数据交换,或写作工具中的编辑器
因此,我们选择serde_json。
2.Cargo.toml配置
[dependencies]
serde = "1.0"
serde_derive = "1.0"
3.代码示例
MyData数据定义
#[derive(Debug, Serialize, Deserialize)]
struct MyData {
code: i32,
message: String,
}
接口引用MyData
#[post("/from_json")]
async fn from_json(my_data: web::Json<MyData>) -> impl Responder {
println!("Received mydata from JSON: {:?}", my_data);
HttpResponse::Ok().json(my_data)
}
#[post("/to_json")]
async fn to_json() -> impl Responder {
let my_data = MyData { code: 1, message: "OK".to_string() };
let json_data = serde_json::to_string(&my_data).unwrap();
HttpResponse::Ok().body(json_data)
}
原文始发于微信公众号(ksnowlv):Actix Web添加json支持
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/254576.html