Python中嵌套JSON处理:获取最新Unix时间戳对应值
Python如何从嵌套JSON中提取最新Unix时间戳对应的值
这个问题很好解决,核心思路就是Unix时间戳的数值越大,代表时间越新,所以我们只需要找出最大的时间戳键,就能拿到对应的值。下面是具体的实现步骤和代码:
首先,先回顾下你提供的JSON数据示例:
{ "daily" : { "1524182400000" : 438, "1524268800000" : 438, "1524355200000" : 437, "1524441600000" : 437, "1524528000000" : 432 } }
实现代码
假设你已经将JSON数据解析成了Python字典(如果是从文件或接口获取的,可以用json.load()或json.loads()解析),代码如下:
import json # 示例解析后的字典(如果是从外部获取,替换成对应的解析逻辑) json_data = { "daily" : { "1524182400000" : 438, "1524268800000" : 438, "1524355200000" : 437, "1524441600000" : 437, "1524528000000" : 432 } } # 取出daily对应的子字典 daily_entries = json_data["daily"] # 处理空数据的情况,避免报错 if not daily_entries: print("没有可用的时间戳数据") else: # 将所有字符串类型的时间戳转为整数,找出最大的那个(最新时间) latest_ts = max(map(int, daily_entries.keys())) # 原字典的键是字符串,所以要转回字符串取值 latest_value = daily_entries[str(latest_ts)] print(f"最新时间戳 {latest_ts} 对应的值为: {latest_value}")
代码解释
map(int, daily_entries.keys()):把所有字符串格式的时间戳转换成整数,这样才能通过数值大小比较时间先后max():直接筛选出最大的时间戳,也就是最新的记录- 最后把整数时间戳转回字符串,因为原字典的键是字符串类型,这样才能正确匹配取值
这样不管后续JSON新增多少时间戳键值对,这段代码都能自动找到最新的那条记录。
内容的提问来源于stack exchange,提问作者user9692945
相关产品推荐
相关产品推荐

