如何将JSON中的expiry时间戳转换为日期时间格式(部分节点无expiry)
直接用Python就能搞定这个需求,以下是具体实现步骤:
1. 整理原始数据
你提供的原始Cookie数据是多个独立JSON对象,需要先包裹成合法的JSON数组(用[]把所有对象括起来),这样才能正常解析。
2. Python处理代码
import json from datetime import datetime # 整理后的原始Cookie数据 raw_cookies = ''' [ { "domain": ".example.com", "expiry": 1704784131, "httpOnly": false, "name": "_ga", "path": "/", "secure": false, "value": "sadsadadasd" }, { "domain": "www.example.com", "httpOnly": true, "name": "PHPSESSID", "path": "/", "secure": true, "value": "sdfsadadasdasdas" }, { "domain": ".example.com", "expiry": 1678000126, "httpOnly": false, "name": "_gcl_au", "path": "/", "secure": false, "value": "sdfsdsadadas" }, { "domain": ".example.com", "expiry": 1670310531, "httpOnly": false, "name": "_gid", "path": "/", "secure": false, "value": "sdfsdfasdiajidjais" } ] ''' # 解析JSON为Python列表 cookies = json.loads(raw_cookies) # 遍历处理每个Cookie的expiry字段 for cookie in cookies: if 'expiry' in cookie: # 转换为UTC标准时间格式,如需本地时间,把utcfromtimestamp换成fromtimestamp cookie['expiry'] = datetime.utcfromtimestamp(cookie['expiry']).strftime('%Y-%m-%d %H:%M:%S UTC') # 输出格式化后的结果 print(json.dumps(cookies, indent=4))
3. 处理后的结果
运行代码后,会得到转换好日期格式的Cookie数据:
[ { "domain": ".example.com", "expiry": "2024-01-08 08:28:51 UTC", "httpOnly": false, "name": "_ga", "path": "/", "secure": false, "value": "sadsadadasd" }, { "domain": "www.example.com", "httpOnly": true, "name": "PHPSESSID", "path": "/", "secure": true, "value": "sdfsadadasdasdas" }, { "domain": ".example.com", "expiry": "2023-03-05 08:28:46 UTC", "httpOnly": false, "name": "_gcl_au", "path": "/", "secure": false, "value": "sdfsdsadadas" }, { "domain": ".example.com", "expiry": "2022-12-06 08:28:51 UTC", "httpOnly": false, "name": "_gid", "path": "/", "secure": false, "value": "sdfsdfasdiajidjais" } ]
补充说明
- 代码会自动跳过没有
expiry字段的Cookie(比如示例中的PHPSESSID) - 时间格式可以自定义,比如改成
%Y-%m-%d只显示日期,或者%H:%M:%S只显示时间 - 如需本地时区时间,替换
datetime.utcfromtimestamp为datetime.fromtimestamp即可
内容的提问来源于stack exchange,提问作者Learnernoob
相关产品推荐
相关产品推荐

