我想通过jq处理以下格式的数据:
{
"data": [
{
"valueX": 11111,
"valueY": 11111,
},
{
"valueX": 2222,
"valueY": 2222,
}
...,
{
"valueX": 2222,
"valueY": 2222,
}
],
"meaningless_data": "x"
}
我要遍历“ data
”部分中的数据,其中有100套数据。我写了以下内容,我将所有内容保存到${input}
中,并希望打印出valueX
。我可以打印出回声部分,但仍然看到很多parse error: Invalid numeric literal at EOF
。我该如何解决?
for row in $(echo "${input}" | jq -r '.[] | @base64'); do
_jq() {
echo ${row} | base64 --decode | jq -r ${1}
}
for i in {0..100}; do
echo "Printing valueX: "$(_jq '.['"${i}"'].valueX')" . "
done
done
答案 0 :(得分:0)
要修复伪JSON,可以使用诸如https://hjson.org/之类的工具。有关更多详细信息和其他选项,请参见jq常见问题解答:https://github.com/stedolan/jq/wiki/FAQ