我希望通过 env 变量(字符串)varb_letter 将从我的元数据中获取不同的数据。
这是我尝试做的。
你能帮忙吗?
谢谢!!!
varb_letter: (( env("LANDSCAPE") == 'a' ? asjson(.metadata.a) : env("LANDSCAPE") == 'b' ? asjson(.metadata.b) : env("LANDSCAPE") == 'c' ? asjson(.metadata.c) ))
metadata:
a:
b:
c:
env变量控制变量数据, 我收到错误的语法错误
对于这个答案,我假设您使用 Spiff++ 作为模板引擎。
有几个问题:
a
这样的字符串常量需要用双引号括起来,而不是单引号,所以正确的语法是env("LANDSCAPE") == "a"
:
之后直接输入,中间不能有空格(因为这与默认的yaml语法冲突。所以正确的语法例如,第二个条件是:env("LANDSCAPE") == "b"
MCVE:
varb_letter: (( env("LANDSCAPE") == "a" ? asjson(.metadata.a) :env("LANDSCAPE") == "b" ? asjson(.metadata.b) :env("LANDSCAPE") == "c" ? asjson(.metadata.c) :false ))
metadata:
a: 1
b: 2
c: 3