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

5
这是我通过使用Python 3访问API可以获取到的数据预览。
   [{'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.dumps(variablename)将其转换为json对象,但是如何将其保存为json文件呢?
谢谢。
1个回答

4

我假设您已经将数据存储在代码内的变量中。那么:

首先需要将这些数据转换为一个 JSON 对象(如果您将此列表添加到对象中,例如 "{'list':" + this_data + "}",则会得到一个 JSON!)。

然后只需获取此 JSON 数据并将其写入文件即可:

    writeFile =open('file_name.json', 'w')
    writeFile.write(your_data)
    writeFile.close()

希望这能帮到你:)

嗨,Pamela, 很抱歉我不太理解你的意思。 你说的“{'list':" + this_data + "}"是什么意思?我已经使用“json.dumps(strip)”将其转换为JSON对象,但我不确定如何保存它。 - Raegis
您可以将list对象保存为JSON格式。JSON数组作为顶级对象也是可以的。但是,需要使用json模块并使用json.dump来实现,因为Python数据结构的字符串表示形式不完全符合JSON格式(虽然看起来很相似,但例如会使用单引号而不是双引号,以及使用None而不是null等)。 - juanpa.arrivillaga
哦,如果你已经有了一个json文件,那么忽略我关于将这些数据转换成json的说法吧!然后你只需要将它写入文件中,我相信你可以使用writeFile.write(the_result_from_json_dumps)来实现。 - PamelaTabak
我刚试过这个方法,它可以正常工作。只需将json dumps输入替换为您需要转换为json的内容即可。 import json writeFile =open('file_name.json', 'w') writeFile.write(json.dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':'))) writeFile.close() - PamelaTabak
@PamelaTabak 你可以直接使用 json.dump(my_python_object, writeFile) - juanpa.arrivillaga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接