Well, maybe you should consider processing the tuple you plan to return
somehow to change the datetimes and Decimals to something more palatable to
@jsonify before returning it (via the decorator). If your controller action
is only returning JSON, then this shouldn't be a problem?

Domhnall.

2009/4/30 Uwe Feldtmann <[email protected]>

>  Thanks Domhnall.
>
> Not sure if it will help as I'm using the jsonify decorator on a method in
> the controller and it is what is failing when attempting to wrap the result
> set.
>
> I managed to get the dates to work out by simply checking for data type and
> then assigning in the controller.
>
> Decimals on the other hand are not working for me. There doesn't appear to
> be a way to extract the value of a Decimal into another variable without
> copying the entire object.
>
> Any suggestions or pointers greatly appreciated.
>
> Domhnall Walsh wrote:
>
> HI:
>
> This might give you a start:
>
> import simplejson
>
> class FancyEncoder(simplejson.JSONEncoder):
>     """
>     Handle datetime objects.
>     """
>
>     def default(self, obj):
>         if isinstance(obj, datetime.datetime):
>             return obj.isoformat()
>
>         # Add more type-specific handlers here, for example for Decimals
>
>         return simplejson.JSONEncoder.default(self, obj)
>
> json = simplejson.dumps(data_to_encode, cls=FancyEncoder)
>
> As you can see it replaces the datetimes with their ISO format
> representations as strings.
>
> Hope this helps,
> Domhnall.
>
>
>
> 2009/4/30 Uwe Feldtmann <[email protected]>
>
>> Hi all.
>>
>> I've been struggling with a controller that gets a result set from a
>> database and should simply return that result set as json data and I keep
>> getting this traceback
>>
>> TypeError: Decimal("0.00") is not JSON serializable
>>
>> the data returned from the db is:
>> (1492, 'BAKER', 'MR. AND MRS BAKER', Decimal("843.50"),
>> Decimal("5000.00"), Decimal("0.00"), datetime.date(1998, 8, 24),
>> datetime.date(1998, 8, 31))
>>
>> Is this an issue with @jsonify or am I missing something?
>>
>>
>> I am using simplejson-2.0.8 and py2.5
>>
>> Thanks in advance.
>>
>>
>>
>
>
> --
> Quidquid latine dictum sit, altum sonatur.
> (Whatever is said in Latin sounds profound)
>
>
>
> >
>


-- 
Quidquid latine dictum sit, altum sonatur.
(Whatever is said in Latin sounds profound)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to