I have some annoying elements in a JSON file that go something like:
"DateTime" : Date(-62135596800000),
"ReceivedDateTime" : Date(-62135596800000)
where serialising this using json.Load()
results in an error because Date() is unrecognized.
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
so the easiest thing to do is to remove the Date()
wrapper before serialising. I can then convert to proper datetime afterwards.
I can do simple things with str.replace such as:
data.replace("Date(","")
but obviously I am not removing the trailing bracket.
How might I go about doing this?
Cheers.