Bash脚本 - 解析JSON结果并设置稍后将在脚本

时间:2016-11-04 13:26:28

标签: json bash curl split jq

我试图从curl中获取JSON结果,并将特定JSON对象的每个结果设置为单独的变量。

在我的脚本中使用以下行来检索结果: PROFILE = $(curl --user admin:admin -k -X GET https://192.168.1.1:8000/rest/call/profiles.json | jq' [.profile [] .id]')

使用上面的行我的结果可能看起来像这样(但我可以返回1到多行):

[   "我的资料&#34 ;,   " myprofile1&#34 ;,   " myprofile2&#34 ;,   " myprofile3" ]

接下来,尝试确定设置返回到唯一变量的每个id的最佳路径,以便稍后在脚本中使用。 .id可以返回1到30个结果,所以我假设执行while循环并且需要使用split命令吗?

非常感谢任何帮助,提前谢谢!

1 个答案:

答案 0 :(得分:0)

我不完全确定你在问什么,但也许这会有所帮助:

echo '[ "myprofile", "myprofile1", "myprofile2", "myprofile3" ]' |
  grep -o '"[^"]\+"' | tr -d '"' | while read x; do
    echo $x
    # do your thing
  done

输出:

myprofile
myprofile1
myprofile2
myprofile3