I need help with creating a valid JSON file via jq which read lines from the file.
I have some text.txt file:
rabbit1-test1
rabbit1-test2
rabbit1-test3
And the bash-script:
VHOSTNAME=/
NODENAME=node1
input="test.txt"
while IFS= read -r line; do jq -n \
--arg a "$VHOSTNAME" \
--arg b "$line" \
--arg c "$NODENAME" \
'{"data": [{"{#VHOSTNAME}": $a, "{#QUEUENAME}": $b, "{#NODENAME}": $c}]}' ;done < "$input"
But, when I run the script, the JSON isn't valid:
{
"data": [
{
"{#VHOSTNAME}": "/",
"{#QUEUENAME}": "rabbit1-test1",
"{#NODENAME}": "node1"
}
]
}
{
"data": [
{
"{#VHOSTNAME}": "/",
"{#QUEUENAME}": "rabbit1-test2",
"{#NODENAME}": "node1"
}
]
}
{
"data": [
{
"{#VHOSTNAME}": "/",
"{#QUEUENAME}": "rabbit1-test3",
"{#NODENAME}": "node1"
}
]
}
I can't understand why jq reads file incorrectly. Please help me.