Can't Emit an Empty Value with yaml-cpp
我想发出一个空值,但是当我指定要发出的空字符串时,输出在技术上并不是空的。
代码段:
1 2 3 4 | YAML::Emitter out; std::string name; out << YAML::Key <<"name"; out << YAML::Value << name; |
预期的yaml输出:
1 | name: |
实际yaml输出:
1 | name:"" |
如您所见,我定义了一个空字符串,并且我希望yaml输出实际上是空的。
这是预期的行为吗?如果是这样,是否有解决此问题的方法?我的目标是使我的整个Yaml输出无报价。
YAML
1 | name: |
没有键
1 2 3 4 | !!map { ? !!str"name" : !!null"null", } |
yaml-cpp试图确保您告诉它的内容("写此空字符串")是如何解析生成的YAML,因此它将空字符串写为
如果要写入空值,则不要写入值或写入
1 | name: ~ |
这是null的规范形式。