首页 » 网站推广 » phphreader设置json技巧_rust从入门到放弃十四JSON 操作

phphreader设置json技巧_rust从入门到放弃十四JSON 操作

访客 2024-12-14 0

扫一扫用手机浏览

文章目录 [+]

我们先看如何通过 to_string 方法将一个struct 工具 序列号

use serde::{Deserialize, Serialize};use serde_json::Result;// 实现了 序列号和返序列化的 trait#[derive(Serialize, Deserialize)]struct Address { street: String, city: String,}fn print_an_address() -> Result<()> { let address = Address { street: "10 Downing Street".to_owned(), city: "London".to_owned(), }; // 将 struct 序列号成字符串 let j = serde_json::to_string(&address)?; // Print, write to a file, or send to an HTTP server. println!("{}", j); Ok(())}

然后我们看一下如何通过 from_str 实现反序列化。

phphreader设置json技巧_rust从入门到放弃十四JSON 操作

use serde::{Deserialize, Serialize};use serde_json::Result;#[derive(Serialize, Deserialize)]struct Person { name: String, age: u8, phones: Vec<String>,}fn typed_example() -> Result<()> { // 第一个多行的字符串 let data = r#" { "name": "John Doe", "age": 43, "phones": [ "+44 1234567", "+44 2345678" ] }"#; // 字符串转工具 let p: Person = serde_json::from_str(data)?; println!("Please call {} at the number {}", p.name, p.phones[0]); Ok(())}

serde 还支持从IO reader 里面解析json,如下:

phphreader设置json技巧_rust从入门到放弃十四JSON 操作
(图片来自网络侵删)

let file = fs::File::open("text.json") .expect("file should open read only");let json: serde_json::Value = serde_json::from_reader(file)

对应的可以通过 to_writer 将json 写入文件。

如果一个struct 里面默写字段不想序列化,可以添加skip 表明跳过序列化。

#[serde(skip)]

标签:

相关文章

大数据时代的出路,机遇与挑战并存

随着信息技术的飞速发展,大数据已成为推动全球经济增长的新引擎。大数据在带来巨大机遇的也伴随着诸多挑战。如何走出大数据的困境,成为当...

网站推广 2024-12-16 阅读0 评论0

大数据时代的反思,排除与抉择

随着互联网的普及和信息技术的飞速发展,大数据已成为各行各业关注的焦点。在享受大数据带来的便利与机遇的我们也不得不正视其带来的挑战与...

网站推广 2024-12-16 阅读0 评论0

大数据时代的变革,现状与未来展望

随着信息技术的飞速发展,大数据已成为当今社会的重要驱动力。大数据技术不仅改变了我们的生活方式,还深刻地影响了各行各业的发展。本文将...

网站推广 2024-12-16 阅读0 评论0