【发布时间】:2021-07-21 15:06:15
【问题描述】:
我有一个包含以下内容的 JSON 对象:
{
"quiz": {
"sport": {
"id": "77",
"q1": {
"question": "Which one is correct team name in NBA?",
"options": [
"New York Bulls",
"Huston Rocket"
],
"answer": "Huston Rocket"
}
},
"maths": {
"q1": {
"question": "5 + 7 = ?",
"options": [
"10",
"13"
],
"answer": "13"
},
}
}
}
并且我想查找 KEY“id”。一旦找到,就开始寻找KEY“answer”并将其重命名为“answer_id”。
预期输出:
{
"quiz": {
"sport": {
"id": "77",
"q1": {
"question": "Which one is correct team name in NBA?",
"options": [
"New York Bulls",
"Huston Rocket"
],
"answer_id": "Huston Rocket"
}
},
"maths": {
"q1": {
"question": "5 + 7 = ?",
"options": [
"10",
"13"
],
"answer": "12"
},
}
}
}
到目前为止,我已经尝试过,但没有正确捕捉到该字段:
awk ' { for ( i = 1; i <= NF; ++i ) {
if ( $i == "id" )
r = 1
if ( r && $i == "answer")
$i = "answer_id"
r = 0
}
}
1 ' example.json > example2.json
【问题讨论】:
-
嗨!如果我会给你一个使用 python 解决这个问题的方法。对你有帮助吗?
-
是的! @AndreiGurko
-
我刚刚发布了我的解决方案。请尝试一下))
-
是否总是有一个问题,即
q1,还是会有多个问题? -
q1会有倍数。我的意思是这是结构,但键会出现不止一次