You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python如何将API返回结果保存为JSON文件?

如何将Python中的JSON数据保存为JSON文件

没问题,这事儿其实超简单!既然你已经会用json.dumps()把数据转成JSON字符串了,只需要再结合Python的文件写入操作就行。我给你两种常用的方法,都能轻松搞定:

方法1:直接用json.dump()写入文件(最简洁)

这种方法不需要先转成字符串,直接把你的Python数据结构序列化到文件里,用with语句还能自动处理文件的打开和关闭,省心又安全:

import json

# 你从API获取到的原始数据
player_data = [{'DBNOs': 2, 'assists': 0, 'boosts': 0, 'damageDealt': 129.820038, 'deathType': 'byplayer', 'headshotKills': 0, 'heals': 0, 'killPlace': 35, 'killPoints': 1295, 'killPointsDelta': 3.15819788, 'killStreaks': 0, 'kills': 1, 'lastKillPoints': 0, 'lastWinPoints': 0, 'longestKill': 3, 'mostDamage': 0, 'name': 'Esskedit', 'playerId': 'account.7a54835609584b9c943b213345ea7ffb', 'revives': 1, 'rideDistance': 2023.24707, 'roadKills': 0, 'teamKills': 1, 'timeSurvived': 655, 'vehicleDestroys': 0, 'walkDistance': 1113.72375, 'weaponsAcquired': 0, 'winPlace': 17, 'winPoints': 1281, 'winPointsDelta': -6.71400356}]

# 写入文件
with open('player_stats.json', 'w', encoding='utf-8') as file:
    # indent=4 让JSON格式排版更美观,ensure_ascii=False支持中文(如果有需要的话)
    json.dump(player_data, file, indent=4, ensure_ascii=False)

方法2:用你已经会的json.dumps()转字符串后写入

如果你更习惯先拿到JSON字符串再处理,也可以这么做,完全兼容你现有的操作:

import json

player_data = [{'DBNOs': 2, 'assists': 0, 'boosts': 0, 'damageDealt': 129.820038, 'deathType': 'byplayer', 'headshotKills': 0, 'heals': 0, 'killPlace': 35, 'killPoints': 1295, 'killPointsDelta': 3.15819788, 'killStreaks': 0, 'kills': 1, 'lastKillPoints': 0, 'lastWinPoints': 0, 'longestKill': 3, 'mostDamage': 0, 'name': 'Esskedit', 'playerId': 'account.7a54835609584b9c943b213345ea7ffb', 'revives': 1, 'rideDistance': 2023.24707, 'roadKills': 0, 'teamKills': 1, 'timeSurvived': 655, 'vehicleDestroys': 0, 'walkDistance': 1113.72375, 'weaponsAcquired': 0, 'winPlace': 17, 'winPoints': 1281, 'winPointsDelta': -6.71400356}]

# 先转成JSON字符串
json_string = json.dumps(player_data, indent=4, ensure_ascii=False)

# 写入文件
with open('player_stats_alt.json', 'w', encoding='utf-8') as file:
    file.write(json_string)

小提示:

  • with语句是Python处理文件的最佳实践,它会自动帮你关闭文件,不用手动写file.close(),避免资源泄漏。
  • indent=4参数是可选的,但加上后生成的JSON文件会有清晰的缩进,可读性大幅提升。
  • ensure_ascii=False也是可选的,如果你的数据里包含中文,加上它能保证中文正常显示,不会变成乱码的Unicode编码。

运行完代码后,你就能在当前目录下看到生成的JSON文件啦!

内容的提问来源于stack exchange,提问作者Raegis

火山引擎 最新活动