[英]Converting yaml to json:TypeError: Object of type 'date' is not JSON serializable
我需要將Yaml文件轉換為json。 但是我得到了錯誤
TypeError:“日期”類型的對象不可JSON序列化
我檢查了其他帖子,並嘗試納入建議,但似乎沒有任何效果。 這是我所擁有的
import yaml
import json
import datetime
def DateEncoder(obj):
if isinstance(obj, datetime.datetime):
return obj.strftime('%Y-%m-%d')
with open('./660093.yaml') as f:
print(json.dumps(yaml.load(f), default=DateEncoder))
TypeError: Object of type 'date' is not JSON serializable
當我檢查yaml文件的內容時,我看到兩行帶有以下格式的日期
{'meta': {'data_version': 0.9, 'created': datetime.date(2013, 12, 20),
'revision': 1}, 'info': {'city': 'Abu Dhabi', 'dates': [datetime.date(2013, 11, 15)],
'gender': 'male', 'match_type': 'IT20', 'neutral_venue': 1, 'outcome':
{'by': {'runs': 32}, 'winner': 'Ireland'}, 'overs': 20,
...
...
任何幫助將不勝感激
您的DateEncoder
僅處理datetime
對象,而不處理date
對象。 那是你的問題。
像這樣更改它:
def DateEncoder(obj):
if isinstance(obj, (datetime.datetime, datetime.date)):
return obj.strftime('%Y-%m-%d')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.