我的 bash 脚本中有这样的变量:
server1_name = 'server-1'
server1_url = 'http://server-1.net'
server2_name = 'server-2'
server2_url = 'http://server-2.net'
我如何使用我的变量创建这样的 json 并设置为新的 var:
[
{
"name": "server-1",
"url": "http://server-1.net"
},
{
"name": "server-2",
"url": "http://server-2.net"
}
]
我试过的:
export jsonArray = $("[{\"name\":"$server1_name",\"url\":\"$server1_url\"},{\"name\":"$server2_name",\"url\":\"$server2_url\"}]" | jq -rec .)
使用 传递您的字符串--arg
,然后您可以按预期创建 JSON:
#!/bin/bash
server1_name='server-1'
server1_url='http://server-1.net'
server2_name='server-2'
server2_url='http://server-2.net'
result=$(jq -n \
--arg name1 "$server1_name" \
--arg url1 "$server1_url" \
--arg name2 "$server2_name" \
--arg url2 "$server2_url" \
'[ { "name": $name1, "url": $url1 }, { "name": $name2, "url": $url2 } ]')
echo "$result"
将产生:
[
{
"name": "server-1",
"url": "http://server-1.net"
},
{
"name": "server-2",
"url": "http://server-2.net"
}
]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句