2 个版本
使用旧的 Rust 2015
0.1.1 | 2024 年 7 月 9 日 |
---|---|
0.1.0 | 2024 年 6 月 2 日 |
11 在 #json-xml
99 每月下载量
10KB
149 行
rsxml2json
将 XML 转换为 JSON 格式的 Rust 库
依赖项
use rsxml2json::{Convert, ConvertConfig};
用法
示例代码 1:返回 String
use rsxml2json::{Convert, ConvertConfig};
fn main() {
//init
let convert = Convert::new(ConvertConfig::default());
//xml data
let xml_str = r#"<?xml version="1.0" encoding="UTF-8"?><hello>world</hello>"#.to_string();
let data_option = convert.execute(xml_str);
let json_str = match data_option {
Ok(value) => value,
Err(_) => return,
};
println!("json_str = {}",json_str);
}
示例代码 2:返回 serde_json::Value
use rsxml2json::{Convert, ConvertConfig};
use serde_json;
fn main() {
// Initialize
let convert = Convert::new(ConvertConfig::default());
// XML data
let xml_str = r#"<?xml version="1.0" encoding="UTF-8"?><hello>world</hello>"#.to_string();
let data_option = convert.execute_json(xml_str);
let json_value = match data_option {
Ok(value) => value,
Err(err) => {
println!("Error: {:?}", err);
return;
}
};
let pretty_json = serde_json::to_string_pretty(&json_value).expect("Unable to convert to pretty JSON");
println!("pretty_json = {}", pretty_json);
}
输入
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="CGImap 0.0.2">
<bounds minlat="54.0889580" minlon="12.2487570" maxlat="54.0913900" maxlon="12.2524800"/>
<foo>bar</foo>
</osm>
输出
{
"osm": {
"-generator": "CGImap 0.0.2",
"-version": "0.6",
"bounds": {
"-maxlat": "54.0913900",
"-maxlon": "12.2524800",
"-minlat": "54.0889580",
"-minlon": "12.2487570"
},
"foo": "bar"
}
}
贡献
如果您想修复、扩展或改进该项目,请随时为此项目做出贡献。
依赖项
~0.7–1.3MB
~26K SLoC