【发布时间】:2021-09-01 17:44:03
【问题描述】:
我正在尝试解析一个看起来像这样的 JSON 文件,然后尝试将每个字段存储在一个数组中,然后尝试读取它。但是,我认为它处于无限循环中。有谁知道我做错了什么?
#!/bin/bash
test(){
local file="/Users/f.json"
if [ -f "$file" ]; then
echo "present"
else
echo "absent"
fi
#jq . f.json
while read rule; do
local idd
local username
idd=$(jq --raw-output '.id' <<< ${rule})
username=$(jq --raw-output '.username' <<< ${rule})
#username=$(jq --raw-output '.username')
done
for (( i=0; i<${#idd[@]}; i++ )); do
echo "${idd[i]}"
done
}
test
这里是json:
{
"id": 5679162,
"username": "ryderw1"
}
{
"id": 5679163,
"username": "ryderw3"
}
{
"id": 5679164,
"username": "ryderw4"
}
我想要的 o/p 应该是:
5679162
5679163
5679164
【问题讨论】:
标签: json bash environment-variables jq