У меня есть 2 массива json: data1 и data2.Я пытаюсь объединить 2 массива json в один json, используя jq.для этого: я выбираю общее свойство region из data1 и пытаюсь найти соответствующее в data2.Тем не менее, выбор jq не работает с параметром, который я передаю, но он работает с любым конкретным значением.
data1='[
{"domain": "domain1", "region": "region1"}, {"domain": "domain2","region": "region2"}, { "domain": "domain3", "region": "region3"} ]'
data2='[
{"region": "eustaging1", "secret": "s1"}, {"region": "eustaging2", "secret": "s2"}, { "region": "eustaging2", "secret": "s3"}]'
for k in $(jq -c '.[]' <<< "$data1"); do
crgn=$(jq '.region' <<< $k)
# select with parameter not working :(
matching_obj=$(jq -c '.[] | select(.region=="$crgn") ' <<< "$data2")
echo "current region is $crgn"
echo "matching object is $matching_obj"
done
output:
current region is "region1"
matching object is
current region is "region2"
matching object is
current region is "region3"
matching object is