python - 如何从响应中获取键和值并使用 python 将其存储在 json 文件中?
问题描述
我有一个这种格式的 python 代码,它想从响应中获取键和值。
def test()
data={u'Application': u'e2e', u'Cost center': u'qwerty', u'Environment': u'E2E', u'e2e3': u'aktest1', u'e2etest': u'aktest2', u'S68e2e': u'function',u'Application': u'test', u'Cost center': u'qwerty', u'Environment': u'E2E', u'e2e3': u'test7nov', u'e2etest': u'testapi', u'S68e2e': u'function'}
new={}
for k,v in data.items():
new["key"] = k
new["tags"] = []
for d in v:
flds = list(d)
new["tags"].append({"key": k, "values": flds})
print(new["tags"])
with open(fileName, 'w') as f:
json.dump(new["tags"], f, indent=3 * ' ')
test()
我得到的输出为
[ {'key': 'S68e2e', 'values': ['f']},
{'key': 'S68e2e', 'values': ['u']},
{'key': 'S68e2e', 'values': ['n']},
{'key': 'S68e2e', 'values': ['c']},
{'key': 'S68e2e', 'values': ['t']},
{'key': 'S68e2e', 'values': ['i']},
{'key': 'S68e2e', 'values': ['o']},
{'key': 'S68e2e', 'values': ['n']}]
这是不正确的。我希望是
[{'key': 'Application', 'values': 'e2e'}{'key': 'Cost center', 'values': 'qwerty'}{'key': 'e2etest', 'values': 'aktest2'}]
解决方案
您可以使用列表推导来创建一个字典列表,这些字典将您的键、值包装在其他键值中
[{ 'key': k, 'values': v } for k, v in data.items()]
推荐阅读
- ruby - 无法使用 docker compose 执行 rake rspec 单元测试
- easy-digital-downloads - 轻松数字下载中的 FES 配置文件数据
- xslt - 如果 DOM classList 包含特定类,请检查 Saxon-JS 2.1
- node.js - 通过 Mailgun 的 API 发送批量电子邮件时动态添加收件人姓名
- wsh - 将击键发送到 Adobe Reader DC 以进行更新
- ruby-on-rails - Delayed::Job 失去活动记录关系,而是数组
- sql - 报表生成器 - 将表格保持在水平对齐的同一页面上
- django - Django 3 - 如何创建许多页面然后在菜单上显示它们?
- python - 为什么在线程中使用该变量后访问该变量会失败?
- javascript - 如何使用 HTML 框架在 Storybook.js 中呈现 .js 文件