当前位置: 首页 > news >正文

网站建设软文建筑网站制作

网站建设软文,建筑网站制作,寺院网站模板,南京软件开发公司有哪些由于 serde 库默认使用 JSON 格式进行序列化和反序列化 因此程序将使用 JSON 格式对数据进行序列化和反序列化 社区为 Serde 实现的部分数据格式列表: JSON:广泛使用的 JavaScript 对象符号,用于许多 HTTP APIPostcard:no_std 和嵌入式系统友好的紧凑二进制格式。CBOR:用…

由于 serde 库默认使用 JSON 格式进行序列化和反序列化
因此程序将使用 JSON 格式对数据进行序列化和反序列化

社区为 Serde 实现的部分数据格式列表:

  • JSON:广泛使用的 JavaScript 对象符号,用于许多 HTTP API
  • Postcard:no_std 和嵌入式系统友好的紧凑二进制格式。
  • CBOR:用于小消息大小且无需版本协商的简洁二进制对象表示法。
  • YAML:自称为“人类友好”的配置语言(不是标记语言)。
  • MessagePack:类似于紧凑 JSON 的高效二进制格式。
  • TOML:Cargo 使用的最小配置格式。
  • Pickle:Python 世界中常见的格式。
  • RON:一种 Rust 对象表示法。
  • BSON:MongoDB 使用的数据存储和网络传输格式。
  • Avro:用于 Apache Hadoop 内部的二进制格式,支持模式定义。
  • JSON5:包括 ES5 中的某些生成的 JSON 超集。
  • URL 查询字符串,x-www-form-urlencoded 格式。
  • Starlark:由 Bazel 和 Buck 构建系统用于描述构建目标的格式。(仅序列化)
  • Envy:将环境变量反序列化为 Rust 结构的一种方式。(仅反序列化)
  • Envy Store:将 AWS Parameter Store 参数反序列化为 Rust 结构的一种方式。(仅反序列化)
  • S-表达式:Lisp 语言系列使用的代码和数据的文本表示形式。
  • D-Bus 的二进制线格式。
  • FlexBuffers:Google 的 FlatBuffers 无拷贝序列化格式的无模式表兄弟。
  • Bencode:BitTorrent 协议中使用的简单二进制格式。
  • Token 流,用于处理 Rust 过程宏输入。(仅反序列化)
  • DynamoDB 项:rusoto_dynamodb 用于与 DynamoDB 传输数据的格式。
  • Hjson:围绕人类阅读和编辑而设计的 JSON 语法扩展。(仅反序列化)

serde学习

use serde::{Serialize, Deserialize};// `derive` may only be applied to `struct`s, `enum`s and `union`s
#[derive(Serialize, Deserialize, Debug)]
struct Animal {name: String,age: u32,
}fn main() {let animal = Animal {name: "Dog".to_owned(),age: 1,};let json_str = serde_json::to_string(&animal).unwrap();println!("{}", json_str);let json_str1 = r#"{"name":"Dog","age":1}"#;// 编译器无法推断变量或函数的类型,并需要使用类型注解来明确指定类型let animal1: Animal = serde_json::from_str(json_str1).unwrap();println!("{:?}", animal1)
}

更新序列化的键

use serde::{Serialize, Deserialize, Serializer, Deserializer};#[derive(Serialize, Deserialize, Debug)]
struct Animal {#[serde(rename = "animal_name")]NaMe: String,#[serde(rename = "animal_age")]AgE: u32,
}fn main() {let animal = Animal {NaMe: "Dog".to_owned(),AgE: 1,};let json_str = serde_json::to_string(&animal).unwrap();println!("{}", json_str);let json_str1 = r#"{"animal_name":"Dog","animal_age":1}"#;// 编译器无法推断变量或函数的类型,并需要使用类型注解来明确指定类型let animal1: Animal = serde_json::from_str(json_str1).unwrap();println!("{:?}", animal1)
}

打印内容如下

{"animal_name":"DOG","animal_age":1}
Animal { NaMe: "dog", AgE: 1 }

更新序列化的值

该场景在业务中貌似不会用到!!!

use serde::{Serialize, Deserialize, Serializer, Deserializer};#[derive(Serialize, Deserialize, Debug)]
struct Animal {#[serde(serialize_with = "serialize_name", deserialize_with = "deserialize_name")]// 上述serde仅处理NmeNaMe: String,AgE: u32,
}// 使用 serde 库自定义的序列化和反序列化函数
// 在序列化和反序列化期间自定义字段的名称,并使用自定义的名称序列化和反序列化数据
fn serialize_name<S>(name: &String, serializer: S) -> Result<S::Ok, S::Error>
whereS: Serializer,
{// 将输入字符串转换为大写并序列化serializer.serialize_str(&name.to_uppercase())
}fn deserialize_name<'de, D>(deserializer: D) -> Result<String, D::Error>
whereD: Deserializer<'de>,
{let name = String::deserialize(deserializer)?;// 获取输入字符串 name,并使用 name.to_lowercase() 将其转换为小写形式Ok(name.to_lowercase())
}fn main() {let animal = Animal {
http://www.yayakq.cn/news/736232/

相关文章:

  • 网站建设需要多大的空间深度科技商业官方网站
  • 保定模板做网站莱芜论坛都市网
  • 建站高端网站宝塔可以做二级域名网站么
  • 石家庄手机网站制作做网站用linux哪个版本
  • 网站开发软件有哪学校网页设计模板图片
  • 百度一下做网站网站报价表怎么做
  • 太原电商网站设计wordpress 后台路径修改
  • 都有哪些js素材网站国内最好的在线网站建设
  • 加强检察院门户网站建设制作网站是什么专业
  • 任何查询网站有没有做404企业网站seo手机
  • 淘宝做关键词的网站山东济南网站建设优化
  • 腾讯云阻止网站访问手机商城网站设计
  • 数码产品商城网站建设网站建设中 html免费
  • 呼和浩特网站建设SEO优化怎样建设网站是什么
  • 做淘客网站能干嘛商城网站的设计风格
  • 小游戏网站开发需要什么技术下载的主题看起来页面缩小了wordpress
  • 微网站模板 餐饮淘宝店铺怎么免费推广
  • 东莞模具网站建设建站之星破解版
  • 劳务建筑公司网站wordpress转移过电脑
  • 娄底市住房和城乡建设局网站学网站建设与管理好吗
  • 怎样登陆网站后台成都网站建设门户
  • 郑州专业制作网站费用做电影网站需多大的空间
  • 泸州市建设局网站网站建设理论依据
  • 空包网站建设短链接在线生成官网免费
  • 河南平顶山网站建设与管理专业阿里云怎么放多个网站
  • filetype ppt 网站建设昆山做网站的那家好
  • 迁安建设局官方网站wordpress index.php on line 17
  • 网站建设采取招标的形式企业网站标题优化
  • php网站开发建设wordpress搬家跳会首页
  • 网站建设宗旨怎么写做健身俱乐部网站的目的和意义