首页 > 解决方案 > jsonnet条件生成一个字段

问题描述

我怎样才能在 jsonnet 中得到这样的东西?

{
    if 1 == 1 then
      store: true
}

使用 jsonnet 运行时出现以下错误:

STATIC ERROR: a.jsonnet:2:9-11: unexpected: if while parsing field definition

我想生成一个这样的json,只是作为一个例子,但是在评估一些条件时:

{
  "store": true
}

标签: jsonnet

解决方案


下面的代码片段实现了条件store_Astore_B字段,对应于val_Aval_B值,使用 jsonnet[null]评估的字段名将其从清单中删除

local exp_val = 1;
local val_A = 1;
local val_B = 0;

{
  [if val_A == exp_val then 'store_A' else null]: true,
  [if val_B == exp_val then 'store_B' else null]: true,
}

推荐阅读