作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用Legion
crate ,并且可以选择serde
这个世界。我正在使用serde::yaml
将其转换为Yaml,并且它在一个对象(Value
)中具有所有实体。我想将其拆分为单独的实体,以便可以将每个实体分别写入文件中。如何遍历Yaml中的每个项目?
我来自军团的Yaml看起来像
---
Entities:
Entity 1:
Name: E1
Entity 2:
Name: E2
Entity 3:
Name: E3
我想要3个以下的Yaml,
Entity 1:
Name: E1
Entity 2:
Name: E2
Entity 3:
Name: E3
我试过下面的代码,但它 panic 地说实体不是序列,
let yaml_serde_sequence = yaml_serde["entities"].as_sequence().unwrap();
for (i, entities) in yaml_serde_sequence.iter().enumerate() {
let yaml_as_str = serde_yaml::to_string(entities).unwrap();
println!("{}", yaml_as_str);
}
最佳答案
我可以通过使用as_mapping
而不是as_sequence
来获得所需的结果
let yaml_serde_tuple = yaml_serde["entities"].as_mapping().unwrap();
for (i, entities) in yaml_serde_tuple.iter().enumerate() {
let yaml_as_str = serde_yaml::to_string(entities.1).unwrap();
println!("{}", yaml_as_str);
}
关于rust - 如何使用Serde::yaml遍历使用rust 的Yaml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66407430/
我是一名优秀的程序员,十分优秀!