如何正确格式化此 jsonnet 数组输出?
How do I correctly format this jsonnet array output?
我有以下 JSON 并且正在使用 -y 选项生成 yaml 输出。
{
array: [
{item1: 1},
{item2: 2},
]
}
我想制作(想要)
{
"array":
- "item1": 1,
- "item2": 2
}
但我得到了
{
"array": [
{
"item1": 1
},
{
"item2": 2
}
],
}
注意实际输出中的大括号。是否可以使用 jsonnet 生成所需的 yaml 输出?
如果你想从这里开始(这既有效 JSON 又有效
YAML):
{
"array": [
{
"item1": 1
},
{
"item2": 2
}
],
}
为此:
array:
- item1: 1
- item2: 2
您可以通过 yq
:
来传递结果
$ cat input.jsonnet
{
array: [
{item1: 1},
{item2: 2},
]
}
$ jsonnet input.jsonnet | yq -y
array:
- item1: 1
- item2: 2
如果您真的希望最终输出看起来像这样:
{
"array":
- item1: 1
- item2: 2
}
请注意,这既无效 JSON 也无效 YAML(例如,尝试将其粘贴到 YAML 验证器中)。你需要
编写某种自定义输出格式以获得该输出(也许“Custom Output Formats”部分中的文档在这方面会有所帮助,尽管我自己还没有尝试过)。
我有以下 JSON 并且正在使用 -y 选项生成 yaml 输出。
{
array: [
{item1: 1},
{item2: 2},
]
}
我想制作(想要)
{
"array":
- "item1": 1,
- "item2": 2
}
但我得到了
{
"array": [
{
"item1": 1
},
{
"item2": 2
}
],
}
注意实际输出中的大括号。是否可以使用 jsonnet 生成所需的 yaml 输出?
如果你想从这里开始(这既有效 JSON 又有效 YAML):
{
"array": [
{
"item1": 1
},
{
"item2": 2
}
],
}
为此:
array:
- item1: 1
- item2: 2
您可以通过 yq
:
$ cat input.jsonnet
{
array: [
{item1: 1},
{item2: 2},
]
}
$ jsonnet input.jsonnet | yq -y
array:
- item1: 1
- item2: 2
如果您真的希望最终输出看起来像这样:
{
"array":
- item1: 1
- item2: 2
}
请注意,这既无效 JSON 也无效 YAML(例如,尝试将其粘贴到 YAML 验证器中)。你需要 编写某种自定义输出格式以获得该输出(也许“Custom Output Formats”部分中的文档在这方面会有所帮助,尽管我自己还没有尝试过)。