问题标签 [jsonnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
166 浏览

json - 使用 jsonnet 更改 json 字符串

我想使用 jsonnetnamespacealok-pod.json下面的 json 中进行更改。

请建议如何使用 jsonnet 来完成?

0 投票
3 回答
1945 浏览

json - 使用 jsonnet 覆盖嵌套列表元素

我有以下 json

如何deployment_env.json使用 jsonnet 添加?

我需要在 spec.template.containers[0].env = deployment_env.json 下添加它

我写了下面的 jsonnet 来做到这一点。它附加了一个新元素。但我需要更改 json 中现有的第 0 个容器元素。请建议如何做。

0 投票
1 回答
911 浏览

json - 如何在 jsonnet 中将 json 转换为 base64 字符串

我有一个json文件。我想编码成base64字符串并json使用jsonnet将其添加到我的 main 中。

datasources.json

grafana.jsonnet

请建议如何完成这项工作。努力转换jsonjsonnet.

0 投票
1 回答
757 浏览

jsonnet - 如何在 Jsonnet 中覆盖“自我”?

我正在尝试创建一个具有一些默认值的模板,但如果提供了自定义值文件,则应覆盖这些默认值。问题是对象中的一些变量是从同一对象中的其他变量构建的,例如adjective: 'Good' + self.fruit. 这不会被覆盖。

std.mergePatch不会产生预期的结果,因为它渲染了整个对象(现在已经让我们这样做了self.fruit),然后覆盖fruit.

当什么都没有被覆盖时产生正确的结果:

但是当我尝试用另一个变量覆盖它时,如果我std.mergePatch按如下方式使用它仍然采用默认值:

产生(注意错误的水果名称adjective):

如果我直接添加这两个对象,它会错过额外的信息:

产生(注意缺少 default qty: 1):

如何使用 Jsonnet 实现这一目标?

0 投票
2 回答
1625 浏览

json - 在 jsonnet 中使用条件参数导入

我希望能够为导入的变量指定不同的参数并更改导入的行为。例如,我想要以下内容:

foo.libsonnet:(类似于编程中具有默认值的 switch case)我知道以下内容不应该工作。只是可能使用它的伪代码。

输出:

0 投票
2 回答
878 浏览

inheritance - 继承 jsonnet 库

import对 JSONNet 的功能有疑问。我想要是能够导入一个主libsonnet文件,该文件本身由多个导入组成,并且能够从一个导入中访问所有内容。

我有以下示例结构:

每个文件的内容如下:

library_one/init.libsonnet

library_two/init.libsonnet

最后,根目录下的“主​​”文件init.libsonnet

但是,当我使用以下内容运行文件test.jsonnnet时:

我得到错误:

这种继承是不可能的吗?

0 投票
1 回答
3151 浏览

json - Jsonnet中键中的字符串插值

我想知道在使用 jsonnet 时是否可以在键中进行字符串插值?

例如,我想做这样的事情:

但这会导致

STATIC ERROR: arith.jsonnet:2:5: expected token OPERATOR but got "."

我知道“密钥”本身是有效的,因为如果我不使用插值,它就可以正常工作,即

生成:

看起来我也不能在键中使用变量,因为它们被解析为一个字符串(不是变量的值)——任何建议都将不胜感激。

0 投票
1 回答
3891 浏览

prometheus-operator - 如何在 jsonnet 中进行嵌套 for 循环并访问变量?

我如何访问t,这是我从外循环得到的东西?

我的数组看起来像这样:

我想遍历所有部署/服务并将它们放在单独的键中,以便将它们放入单独的文件中。

0 投票
1 回答
440 浏览

yaml - 如何使用 jsonnet 在 YAML 中嵌入文字 json?

这是我尝试使用 jsonnet 实现的目标:

这是我失败的尝试:

在我的尝试中,我得到了以下结果:

怎样才能达到预期的效果?

0 投票
1 回答
253 浏览

python - 从一组对象值的排列生成 JSON 配置文件

我正在尝试为我的程序创建一组 JSON 配置文件。我通常将 JSON 文件传递​​到命令行并运行我的模拟。问题是我想探索很多参数,并且我想为每组参数创建一个配置文件。例如,如果我的配置文件如下所示:

我想为每个键迭代一组值,例如x = [1, 2, 3]y = [5, 6, 7]。我想要一个解决方案,用户可以在顶部定义所有参数,JSONnet 在不同文件中生成所有组合。

我对 JSONnet 有点熟悉,我知道我可以拥有函数并且基本上为每个键传递不同的值并拥有一个新的 json 文件。但这不是很可扩展,而且我的配置文件是嵌套的,这使得一切都变得更加复杂,而且这种方法并不能真正解决参数的排列问题。

我已经用一个生成排列表的shell脚本解决了这个问题,然后将每一行作为输入传递给jsonnet,但我认为应该有更好的方法。

编辑:如果有办法使用 JSONnet Python 绑定来实现这一点,那也可以。