我有一個JSON文件中的一些惱人的元素去是這樣的:刪除功能的包裝可以用Python
"DateTime" : Date(-62135596800000),
"ReceivedDateTime" : Date(-62135596800000)
連載地方使用這個結果json.Load()
一個錯誤,因爲日期()是無法識別。
Traceback (most recent call last):
File "json_parse.py", line 10, in <module>
data = json.load(data_file)
File "C:\Python27\lib\json\__init__.py", line 291, in load
**kw)
File "C:\Python27\lib\json\__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
所以最簡單的做法是在序列化之前刪除Date()
包裝。之後我可以轉換爲適當的日期時間。
我可以做str.replace簡單的事情,如:
data.replace("Date(","")
但很明顯,我不刪除尾部支架。
我該如何去做這件事?
乾杯。
這不是一個有效的通用JSON。嘗試更換'日期'本身 – Netwave
不幸的是,我不能控制如何創建json。討厭,但只需要做 – brucezepplin
@brucezepplin:它不是JSON。如果上游聲稱它是JSON,請提交錯誤報告。相關:[將奇怪的Python日期格式轉換爲可讀的日期](https://stackoverflow.com/q/28482616/4279) – jfs