将简单的JSON对象转换为属性文件

时间:2017-02-21 00:22:06

标签: bash sh jq

我有一个简单的JSON对象,并希望将其转换为bash中的属性文件。

输入:

{
    "foo": "bar",
    "abc": "def ghi"
}

预期产出:

foo="bar"
abc="def ghi"

2 个答案:

答案 0 :(得分:4)

您可以使用to_entries

jq -r 'to_entries[]|"\(.key)=\"\(.value)\""' input.json

顺便说一句,在Java属性文件中,您不需要引用值:

jq -r 'to_entries[]|"\(.key)=\(.value)"' input.json

答案 1 :(得分:0)

实际上,`to_entries'和`@sh'过滤器的使用仅适用于简单 JSON对象(如问题中所述......)。在我的情况下(嵌套json)似乎我将使用npm的包“json-to-properties”