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 命令中有它。
我正在寻找在 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 命令中有它。