问题描述
我有一个yaml文件,其值> 2000行之一。向配置中添加2k行不利于使配置文件清晰可见。读取Yaml时是否可以将2k行移动到文本文件中并引用文件内容作为值
当前设置
curated:
xform1:
case when A=B then C else D end
xform2:
case ....
...............
..............
................
2000k lines
end
所需
curated:
xform1:
case when A=B then C else D end
xform2:xform2.txt
解决方法
不具有纯YAML语义。
如果您正在编写加载代码,则当然可以定义一个本地标签:
curated:
xform1:
case when A=B then C else D end
xform2: !file xform2.txt
在加载时,您可以在加载引用的文件时实施本地标签!file
。如何执行此操作取决于您使用的YAML实施;它可能会称为注册自定义构造函数。
如果您没有对加载代码有任何控制权,那么除非该代码提供了执行此操作的方法,否则是不可能的。一些使用YAML的工具会使用允许它的模板引擎对其进行预处理。
根据设置,您可以使用模板引擎对YAML进行预处理,然后将结果输入到加载YAML的工具中。