使用jq创建JSON对象/字典

时间:2019-08-28 20:10:42

标签: json dictionary jq

在我的bash脚本中,我有一个字典/地图,如:

k1: v1
k2: v2
k3: v3

我是否可以使用jq --slurpjq --raw-input像这样将其实际转换为JSON:

{
  "k1": "v1",
  "k2": "v2",
  "k3": "v3"
}

可能通过管道传输类似echo k1 v1 k2 v2 k3 v3 | jq [???]

1 个答案:

答案 0 :(得分:2)

在input.txt中包含key: value数据,在tojson.jq中包含以下程序:

[inputs | select(length>0) 
 | [splits(": *")]
 | {(.[0]): .[1]} ]
| add

调用:

jq -n -R -f tojson.jq input.txt

产生:

{
  "k1": "v1",
  "k2": "v2",
  "k3": "v3"
}