Linux 中 JSON 的 YAML 格式

YAML format from JSON in Linux

我正在寻找在 linux 中清洁我的 json 的简单方法。

示例输入:

[{"name":"Student1","value":"John"},{"name":"Student2","value":"Jack"},{"name":"Student3","value":"Nick"},{"name":"Student4","value":"Karen"},{"name":"Student5","value":"Jonas"}]

预期输出: 我想在 linux.

txt/yaml 文件中保存低于预期的输出
Student1:John
Student2:Jack
Student3:Nick
Student4:Karen
Student5:Jonas

我的尝试:

jq '. | map([.name, .value] | join(": ")) | join("\n")' file.json >> all_param.yml;

您只是缺少 jq 的附加标志 --raw-output。 该命令应类似于

jq --raw-output '.[] | [.name, .value] | join(":")' file.json

--raw-output 参数使 jq 直接打印输出,而不是将其打印为 JSON 字符串,即将其转义为字符串。

在您的预期输出中,冒号后没有 space,但在您的 jq 命令中有它。