我有以下 Jsonnet 结构
{
_config: {
v: 3,
},
obj: {
[std.char(97 + x)]: x
for x in std.range(0, $._config.v - 1)
}
}
产生以下 json
{
"_config": {
"v": 3
},
"obj": {
"a": 0,
"b": 1,
"c": 2
}
}
但我想打开包装
obj
所以最终的物体看起来像这样
{
"_config": {
"v": 3
},
"a": 0,
"b": 1,
"c": 2
}
这可以吗?
我还没有想出在 Jsonnet 中“解压”(我知道这个词来自 Python,不确定是否有更通用的版本)对象的方法。
有点难看,但这会产生你想要的输出,而不需要任何重复:
local base = {
_config: {
v: 3
}
};
base + {
[std.char(97 + x)]: x
for x in std.range(0, base._config.v - 1)
}