如何在 JSON 结构中自动添加字段
Posted
技术标签:
【中文标题】如何在 JSON 结构中自动添加字段【英文标题】:How to add a field in JSON structure automatically 【发布时间】:2021-11-23 09:41:46 【问题描述】:我正在使用 bigquery 并使用以下命令获取架构详细信息
bq show --schema --format=prettyjson [PROJECT_ID]:[DATASET].[TABLE]
上面的命令给了我类似下面的结构
[
"mode": "NULLABLE",
"name": "flt_date",
"type": "DATE"
,
"mode": "NULLABLE",
"name": "month",
"type": "INTEGER"
,
"mode": "NULLABLE",
"name": "year",
"type": "INTEGER"
,
]
我想在每个数组结构中添加一个名为“description”的额外字段,任何人都可以帮助我了解如何获取它。任何脚本或任何命令都会有所帮助。新结构将是
[
"description" : " ",
"mode": "NULLABLE",
"name": "flt_date",
"type": "DATE"
,
"description" : " ",
"mode": "NULLABLE",
"name": "month",
"type": "INTEGER"
,
"description" : " ",
"mode": "NULLABLE",
"name": "year",
"type": "INTEGER"
,
]
注意:我现有的表没有列名称的任何描述,我需要稍后使用 terraform 添加。任何建议将不胜感激
【问题讨论】:
【参考方案1】:遍历每个并使用.update()
json = [
"mode": "NULLABLE",
"name": "flt_date",
"type": "DATE"
,
"mode": "NULLABLE",
"name": "month",
"type": "INTEGER"
,
"mode": "NULLABLE",
"name": "year",
"type": "INTEGER"
,
]
for each in json:
each.update("description":" ")
【讨论】:
在进行更改时,我遇到了两个问题 - “预期为 JSON 对象、数组或文字.json”虽然,我已经修复了第一个并修改了相同的 "json" : [ “模式”:“NULLABLE”,“名称”:“flt_date”,“类型”:“日期”,“模式”:“NULLABLE”,“名称”:“月份”,“类型”:“整数” , "mode": "NULLABLE", "name": "year", "type": "INTEGER" ] for each in json: each.update("description":" ") 但这开始给我第二个错误 - “文件结束预期 JSON”我可以知道如何解决这个问题吗? 你能分享导致这种情况的完整代码吗?以上是关于如何在 JSON 结构中自动添加字段的主要内容,如果未能解决你的问题,请参考以下文章
当 JSON 字段键是日期时,如何将 JSON 对象解组为 Golang 结构?