我需要循环遍历字典并将记录附加到 json 对象文件 option.json 我的代码是
for K in "${!MYMAP[@]}"; do
opt="{
\"OptionName\":\"${K}\",
\"Value\":\"${MYMAP[$K]}\"
},"
echo $opt >> option.json
done
但这会产生如下的 option.json
{
"OptionName": "name",
"Value": "test"
},
{
"OptionName": "age",
"Value": "13"
}
如何使 option.json 成为 json 对象并在对象内附加每个 {},这样我的 option.json 将如下所示
[
{
"OptionName": "name",
"Value": "test"
},
{
"OptionName": "age",
"Value": "13"
}
]
// JSON对象文件的文件路径 json_file="data.json"
//要追加的新记录(可以根据需要修改) new_record='{"id": 3, "name": "John Doe"}'
//从文件中读取已有的JSON内容 json_content=$(cat "$json_file")
// 将 JSON 内容解析为 Bash 数组 readarray -t json_array <<< "$json_content"
// 将新记录追加到 Bash 数组中 json_array+=("$new_record")
// 将 Bash 数组转换回 JSON 字符串 update_json=$(printf "%s " "${json_array[@]}" | jq -s '.')
// 将更新后的 JSON 字符串写回文件 回声“$updated_json”>“$json_file”
echo“记录追加成功。”