Skip to main content
 首页 » 编程设计

Python 从 json 值创建字典

2025年05月04日1352php

我目前对 Steam Web API 进行 API 调用,它获得如下所示的 json 响应:

{ 
"response": { 
    "globalstats": { 
        "heist_success": { 
            "total": "58932654920", 
            "history": [ 
                { 
                    "date": 1486252800, 
                    "total": "696574" 
                }, 
                { 
                    "date": 1486339200, 
                    "total": "357344" 
                }, 
                { 
                    "date": 1486425600, 
                    "total": "356800" 
                }, 
                { 
                    "date": 1486512000, 
                    "total": "311056" 
                } 
            ] 
 
        } 
    }, 
    "result": 1 
} 

日期是unix时间戳,合计是一个金额。我想要做的是根据日期和时间的值而不是名称创建一个字典。我尝试使用以下内容:

dict = dict(data['response']['globalstats']['heist_success']['history']) 

但这只是创建了一个“日期”“总计”的字典。

如何创建仅包含值的字典?

请您参考如下方法:

您可以获取值并从中创建字典,

这是你可以做的

代码

d = data['response']['globalstats']['heist_success']['history'] 
result_dict = dict((i["date"],i["total"]) for i in d) 

如果使用 python 2.7 或更高版本,您还可以使用 dict comprehension

result_dict = {i["date"]:i["total"]  for i in d} 

输出

{1486252800: '696574', 
 1486339200: '357344', 
 1486425600: '356800', 
 1486512000: '311056'}