2017-02-21 71 views

回答

4

您可以使用to_entries为:

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

顺便说一下,在Java属性文件,你不需要引用值:

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

使用'@ sh'而不是自己引用值;这对于确保'{“键”:“\”value \“”}'正确引用“是必要的。 (''... |“\(.key)= \(。value | @sh)”'')。 – chepner

+0

请解释“@sh”实际上是什么...... – bentzy

+0

@chepner OP想写一个属性文件,这让我想到Java。这些文件遵循与shell不同的语法规则。其实双引号根本就没有必要。那么,该运作似乎期待他们。 – hek2mgl

0

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