在Shell脚本中读取JSON变量

时间:2018-11-14 00:40:35

标签: json shell

如何在shell脚本中读取JSON变量(请注意“ JSON变量”而不是JSON File)? 我尝试过类似的东西,

temp={\"name\":\"Sipdy\",\"time\":\"17:09 1985\",\"place\":\"CA\"}
jq '.time' $temp

也尝试过

temp={"name":"Sipdy","time":"17:09 1985","place":"CA"}
jq '.time' $temp

但是以上两个命令都希望使用JSON文件名代替“ $ temp”。

1 个答案:

答案 0 :(得分:1)

您需要提供JSON文本作为jq的标准输入:

$ temp='{"name":"Sipdy","time":"17:09 1985","place":"CA"}'
$ echo $temp | jq .time                                   
"17:09 1985"
$ jq .time <<< $temp
"17:09 1985"

(第二种形式是here string。)