【发布时间】:2020-06-17 03:38:25
【问题描述】:
[
{ "id":"1",
"metadata":{"version":"1.0","author":"user1"}
},
{ "id":"2",
"metadata":{"version":"1.0","author":"user2","timestamp":"2019-02-05"}
},
{ "id":"3",
"metadata":{"version":"1.0","author":"user3","price":"10.0"}
}]
我正在尝试使用 jq 解析上述 json (data1.json),但我无法访问元数据对象。我最终将使用元数据对象作为字符串插入数据库。它可以有任意数量的字段,结构不固定。这是我正在使用的脚本。
#!/usr/bin/env bash
id=($(jq '.[] | .id' data1.json | tr -d '"'))
metadata=($(jq '.[] | .metadata' data1.json))
n_id=${#id[@]}
n_meta=${#metadata[@]}
echo $n_id
echo $n_meta
for (( i=0; i<n_id; i++ )); do
echo ${metadata[$i]}
done
预期输出:
{"version":"1.0","author":"user1"}
{"version":"1.0","author":"user2","timestamp":"2019-02-05"}
{"version":"1.0","author":"user3","price":"10.0"}
我在这里做错了什么?任何帮助表示赞赏。
【问题讨论】: