On 10 Dec 2012, at 7:49 AM, Massimo Di Pierro <[email protected]> 
wrote:
> I think we should use gluon.serializers.json which handles this case.

In some of my cross-platform JSON I've been using (float) seconds since the 
(1970) epoch: time.time() instead of datetime.datetime.utcnow(), for example. 

> 
> On Monday, 10 December 2012 09:12:04 UTC-6, Niphlod wrote:
> this is "normal": the json serializer by default doesn't handle datetime 
> objects serialization.
> 
> Python 2.7.3 (default, Apr 10 2012, 23:31:26) 
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import json
> >>> import datetime
> >>> json.dumps(datetime.datetime.now())
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "F:\Programmi\Portable_Python_2.7.3.1\App\lib\json\__init__.py", line 
> 231, in dumps
>     return _default_encoder.encode(obj)
>   File "F:\Programmi\Portable_Python_2.7.3.1\App\lib\json\encoder.py", line 
> 201, in encode
>     chunks = self.iterencode(o, _one_shot=True)
>   File "F:\Programmi\Portable_Python_2.7.3.1\App\lib\json\encoder.py", line 
> 264, in iterencode
>     return _iterencode(o, 0)
>   File "F:\Programmi\Portable_Python_2.7.3.1\App\lib\json\encoder.py", line 
> 178, in default
>     raise TypeError(repr(o) + " is not JSON serializable")
> TypeError: datetime.datetime(2012, 12, 10, 16, 4, 46, 573000) is not JSON 
> serializable
> >>>
> 
> We could use the web2py "standard" (standard as in web2py and a few other 
> frameworks "world") object serialization, that takes care of it using 
> mydate.isoformat()[:19].replace('T', ' ')
> but I'm more lenient to have the results strictly as json "standards" (as in 
> worldwide spec) allowed types.
> 
> Suggestions/votes welcome.
> 
> On Monday, December 10, 2012 4:01:42 PM UTC+1, Rene Dohmen wrote:
> Hi,
> 
> I like the new scheduler concept a lot. It looks promising.
> 
> Something goes wrong when I try to return a datetime in the method I wanted 
> to schedule...
> A Simple JSON parsing error



-- 



Reply via email to