【发布时间】:2021-07-10 14:58:43
【问题描述】:
我正在尝试使用 shell 脚本解析下面的 json 对象:
国家.json
{
"countries": [
{"country":"India","city":["India1","India2","India3"]},
{"country":"USA","city":["USA1","USA2","USA3"]}
]
}
我的期望输出应该是这样的:
country:India, city:India1
country:India, city:India2
country:India, city:India3
country:USA, city:USA1
country:USA, city:USA2
country:USA, city:USA3
我在 shell 脚本中使用 jq 来迭代上面的 json,如下所示:
for k in $(jq '.countries | keys | .[]' country.json); do
countryObj=$(jq -r ".countries[$k]" country.json);
countryValue=$(jq -r '.country' <<< "$countryObj");
city_array=$(jq -r '.city' <<< "$countryObj");
echo $city_array
done
由此我能够得到 city_array 即 ["India1","India2","India3"] 和 ["USA1","USA2","USA3"] 但我无法获得上述期望的输出
【问题讨论】: