我有一个像这样的 JSON 数组:
{
"SITE_DATA": {
"URL": "example.com",
"AUTHOR": "John Doe",
"CREATED": "10/22/2017"
}
}
Run Code Online (Sandbox Code Playgroud)
我希望使用 jq 迭代这个数组,这样我就可以将每个项目的键设置为变量名,将值设置为它的值。
例子:
到目前为止,我对数组进行了迭代,但创建了一个字符串:
constants=$(cat ${1} | jq '.SITE_DATA' | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]")
Run Code Online (Sandbox Code Playgroud)
哪些输出:
URL=example.com
AUTHOR=John Doe
CREATED=10/22/2017
Run Code Online (Sandbox Code Playgroud)
我希望在脚本中进一步使用这些变量:
echo ${URL}
Run Code Online (Sandbox Code Playgroud)
但这目前与空输出相呼应。我猜我需要一个eval
或什么在那里,但似乎无法将我的手指放在上面。