我很难在bash脚本中创建有效的JSON变量以使用curl发送它。
我有一个用户名=密码的关联数组,我想在其JSON中“嵌入”。
我以jq结尾,但是当我想使用参数作为键时抛出错误
不起作用:
body=$( jq -n \
--arg id "${id}" \
--arg sig "${signature}" \
--arg user1 "${user1}" \
--arg user2 "${user2}" \
--arg passuser1 "${pass[${user1}]}" \
--arg passuser2 "${pass[${user2}]}" \
'{instanceid: $id, signature: $sig, user: {$user1: $passuser1, $user2: $passuser2}}')
正在工作(user1和user2在这里未引用变量):
body=$( jq -n \
--arg id "${id}" \
--arg sig "${signature}" \
--arg passuser1 "${pass[${user1}]}" \
--arg passuser2 "${pass[${user2}]}" \
'{instanceid: $id, signature: $sig, user: {user1: $passuser1, user2: $passuser2}}')
我想使用数组而不是每次都编辑JSON,有没有办法做到这一点而不用jq做奇怪的事情?