【发布时间】:2017-02-21 00:22:05
【问题描述】:
我有一个简单的 JSON 对象,想将其转换为 bash 中的属性文件。
输入:
{
"foo": "bar",
"abc": "def ghi"
}
预期输出:
foo="bar"
abc="def ghi"
【问题讨论】:
我有一个简单的 JSON 对象,想将其转换为 bash 中的属性文件。
输入:
{
"foo": "bar",
"abc": "def ghi"
}
预期输出:
foo="bar"
abc="def ghi"
【问题讨论】:
您可以为此使用to_entries:
jq -r 'to_entries[]|"\(.key)=\"\(.value)\""' input.json
顺便说一句,在 Java 属性文件中你不需要引用值:
jq -r 'to_entries[]|"\(.key)=\(.value)"' input.json
【讨论】:
@sh 而不是自己引用值;这对于确保正确引用 {"key": "\"value\""} 之类的内容是必要的。 ('... | "\(.key)=\(.value | @sh)"')。
application.yml)
实际上,`to_entries' 和 `@sh' 过滤器的使用仅适用于 simple JSON 对象(如问题中所述...)。在我的情况下(嵌套 json)似乎我会使用 npm 的包“json-to-properties”
【讨论】: