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

做网站平方根怎么表示秦皇岛网站制作

做网站平方根怎么表示,秦皇岛网站制作,扁平手机网站,什么是网站挂马配置文件 常见的配置文件有很多:JSON, Ini, XML, TOML, YAML … 目标: JSON/YAML/TOMLIniXML Rust中序列化用的最多的是 serde, 依赖它,有很多出色的第三方库可以使用。 其中,serde本身支持JSON/YAML/TOML/JSON5…多种&#…

配置文件

常见的配置文件有很多:JSON, Ini, XML, TOML, YAML …

目标:

  • JSON/YAML/TOML
  • Ini
  • XML

Rust中序列化用的最多的是 serde, 依赖它,有很多出色的第三方库可以使用。

其中,serde本身支持JSON/YAML/TOML/JSON5…多种,这里使用serde_json.

XML需要第三方库quick-xml,他通过支持serde也支持了结构体序列化,配合十分完美.

INI比较特别,这里有一个比较强大的库,支持带注释的ini, configparser.

依赖文件:

[dependencies]
configparser = "*"  # ini支持
serde = { version = "*", features = ["derive"] }  # 后续的库的基础
serde_json = "*"  # JSON支持
quick-xml = { version = "*",features=["serde","serialize"] } # xml 支持

Code

use configparser::ini::Ini;
use serde_json::{json, Value};
use serde::{Deserialize, Serialize};
use quick_xml;fn main() {println!("\r\n1. Ini config");ini_call();println!("\r\n2. Json config");// serde库 支持 json, toml, yaml ... 多种格式,方法也类似json_call();println!("\r\n3. XML config");// 支持 xml encoding 设定xml_call();
}fn ini_call() {let ini_str = r#"default_s1 = 123 ; default sectionconfig s2 : abc,xyz # : also can be accept# comments 
[ app ]
port # default value is also okip = "192.168.1.2" "#;let mut conf = Ini::new();// 解析 ini 内容if let Ok(cfg) = conf.read(ini_str.to_string()) {for (k, v) in cfg {println!("ini section: {} = {:?}", k, v);}println!("{:?}, {:?}", conf.getint("default", "default_s1"), conf.get("app", "ip"));// 修改 iniconf.set("app", "test", Some("t_val".to_string()));// output iniprintln!("\r\nini output:\r\n{}", conf.writes());}
}#[derive(Serialize, Deserialize, Debug)]
struct Person {name: String,age: u8,phones: Vec<String>,
}fn json_call() {let s1 = r#"{"name": "John Doe","age": 43,"phones": ["+44 1234567","+44 2345678"]}"#;// 解析 json// map 方式访问,支持数组if let Ok(mut v) = serde_json::from_str::<Value>(s1) {println!("{:?} {}", v.get("name"), v["phones"][0]);// 修改 Jsonv["test"]=serde_json::value::Value::String("xxxx".to_string());println!("value change: {}", v.to_string());}// 结构体映射if let Ok(mut p) = serde_json::from_str::<Person>(s1) {println!("{:?}", p);// 修改 Jsonp.phones.push("1008611".to_string());println!("after: {}", serde_json::to_string_pretty(&p).unwrap());}// macro json Valuelet v1 = json!({"name": "zhangsan","age": 33,"phones": ["1", "2"]});println!("value macro: {}", v1.to_string());
}#[derive(Debug, PartialEq, Default, Serialize,Deserialize)]
#[serde(default)]
struct Translation {#[serde(rename = "@Tag")]  // @属性tag: String,#[serde(rename = "@Language")]lang: String,#[serde(rename = "$text")]  // $内容text: String,
}#[derive(Debug, PartialEq, Default, Serialize,Deserialize)]
#[serde(default)]
struct DefaultSettings {#[serde(rename = "@Language")]language: String,#[serde(rename = "@Greeting")]greeting: String,
}#[derive(Debug, PartialEq, Default, Serialize,Deserialize)]
#[serde(default, rename_all = "PascalCase")]
struct Config {#[serde(rename = "DefaultSettings")]settings: DefaultSettings,localization: Localization,
}
#[derive(Debug, PartialEq, Default, Serialize,Deserialize)]
#[serde(rename_all = "PascalCase")]
struct Localization {translation: Vec<Translation>,
}const XML: &str = r#"
<?xml version="1.0" encoding="utf-8"?>
<Config><DefaultSettings Language="es" Greeting="HELLO"/><Localization><Translation Tag="HELLO" Language="ja">こんにちは</Translation><Translation Tag="BYE" Language="ja">さようなら</Translation><Translation Tag="HELLO" Language="es">Hola</Translation><Translation Tag="BYE" Language="es">Adiós</Translation></Localization>
</Config>
"#;const XML2: &str = r#"<Translation Tag="HELLO" Language="ja">こんにちは</Translation>
"#;
fn xml_call(){// 简单解析XMLif let Ok(t2) = quick_xml::de::from_str::<Translation>(XML2){println!("xml2 struct:\r\n\t {:?}", t2);}// 复杂的解析XMLif let Ok(mut t) = quick_xml::de::from_str::<Config>(XML){println!("xml settings: \r\n\t{:?}", t.settings);println!("xml localization: \r\n\t{:?}", t.localization);// 修改XMLt.settings.greeting = "good good study".to_string();// outprintln!("format output:\r\n\t{}",quick_xml::se::to_string(&t).unwrap());}
}

输出

1. Ini config
ini section: app = {"ip": Some("\"192.168.1.2\""), "port": None}
ini section: default = {"default_s1": Some("123"), "config s2": Some("abc,xyz")}
Ok(Some(123)), Some("\"192.168.1.2\"")ini output:
default_s1=123
config s2=abc,xyz
[app]
ip="192.168.1.2"
test=t_val
port2. Json config
Some(String("John Doe")) "+44 1234567"
value change: {"age":43,"name":"John Doe","phones":["+44 1234567","+44 2345678"],"test":"xxxx"}
Person { name: "John Doe", age: 43, phones: ["+44 1234567", "+44 2345678"] }
after: {"name": "John Doe","age": 43,"phones": ["+44 1234567","+44 2345678","1008611"]
}
value macro: {"age":33,"name":"zhangsan","phones":["1","2"]}3. XML config
xml2 struct:Translation { tag: "HELLO", lang: "ja", text: "こんにちは" }
xml settings: DefaultSettings { language: "es", greeting: "HELLO" }
xml localization: Localization { translation: [Translation { tag: "HELLO", lang: "ja", text: "こんにちは" }, Translation { tag: "BYE", lang: "ja", text: "さようなら" }, Translation { tag: "HELLO", lang: "es", text: "Hola" }, Translation { tag: "BYE", lang: "es", text: "Adiós" }] }
format output:<Config><DefaultSettings Language="es" Greeting="good good study"/><Localization><Translation Tag="HELLO" Language="ja">こんにちは</Translation><Translation Tag="BYE" Language="ja">さようなら</Translation><Translation Tag="HELLO" Language="es">Hola</Translation><Translation Tag="BYE" Language="es">Adiós</Translation></Localization></Config>
http://www.yayakq.cn/news/483133/

相关文章:

  • 做渔家乐哪个网站最好山西网站备案
  • 山东省建设厅网站 - 百度北京网站推广营销策划
  • 电子商务学网站建设好吗全球设计中心
  • 网站流量怎么做乡1万国内代理ip免费网址
  • 做一个网站和手机软件多少钱电脑软件开发工具
  • 西安公司注册网站专业做根雕的网站
  • 成都建材网站建设外贸网站建设定制
  • 被百度收录的网站有哪些05网伴你学
  • 电子商务网站建设与维护考试题厦门市建设工程在哪备案网站
  • 广东品牌网站设计常州网站建设网站
  • 南昌网站建设怎么样媒体公司网站模板
  • 金华app网站开发南通优化网站费用
  • 做网站用的各种图标大全推广运营是什么
  • 怎样制作微信网站做装修的网站有哪些内容
  • wordpress一键安装教程网站做seo要多少钱
  • 大型网站开发像天猫类的合肥快速建站模板
  • 网站建设有模板自己能制作网站建设云梦
  • 手机做网站自己做wordpress英文伪原创
  • 四川蓉和建设公司网站嵌入式培训心得体会
  • 阿克苏地区建设局网站做网站没有高清图片怎么办
  • 网站运营专员月薪多少首页关键词排名代发
  • html中音乐网站怎么做域名服务器没有该网站的域的列表
  • 简单的房源展示网站开发wordpress改了固定链接出现404
  • 如何把国外的网站在国内做镜像做运营的具体做什么
  • 网站设计的技巧广州市 住房建设局网站
  • 网站开发与网页制作网站和网业的关系
  • wordpress作企业网站好吗网站访问统计方案
  • 天涯网站怎么做外链wordpress水印怎么开
  • 租好服务器咋做网站呢苏醒wordpress下载
  • iis7.0建设网站火是用什么做的视频网站