如何为API调用的JSON响应添加键值对格式的时间戳?
解决方案
你需要在解析后的JSON字典中添加时间戳键值对,而非将时间戳字符串直接拼接在JSON外部。具体修改如下:
修改后的完整代码
import datetime from urllib.parse import urljoin import json # 假设session已提前初始化 now = datetime.datetime.now().isoformat(sep=" ", timespec="seconds") result = session.get(urljoin(baseurl, path), headers=headers, params=querystring, verify=False) # 将API响应解析为Python字典 response_data = result.json() # 向字典中新增date_time字段 response_data["date_time"] = now # 转换为合法JSON字符串 json_object = json.dumps(response_data) # 写入文件 with open("/opt/bamboo/logs/outputfile", "a") as outfile: outfile.write(json_object + "\n")
关键修改说明
- 放弃字符串拼接的方式,直接操作Python字典添加字段,保证生成的JSON格式合法且符合预期结构。
- 将原变量名
jsonarray改为response_data,更贴合API返回单个JSON对象的实际情况。
扩展处理(API返回JSON数组时)
如果后续API返回的是多对象组成的数组(如[{"account": "...", ...}, {...}]),只需遍历数组给每个对象添加时间戳:
response_data = result.json() for item in response_data: item["date_time"] = now json_object = json.dumps(response_data)
内容的提问来源于stack exchange,提问作者francorocks
相关产品推荐
相关产品推荐

