we choose an unfortunate name for gluon.serializers.json I can see how that 
can create confusion.

On Saturday, 21 February 2015 06:03:24 UTC-6, clara wrote:
>
> Hello all,
>
> Massimo, I tried the same, I saved request.vars.input into a file and 
> tried:from a python console:imported json and json.loads worked fine. You 
> nailed the problem: I imported the wrong json module:
>
> I changed the imports from: 
> *from gluon.serializers import json*
> to:
> *from gluon.contrib import simplejson*
> and the problem was solved.
>
> I assumed that the json from gluon.serializers would have the loads/dumps 
> method. My mistake. It seemed like the obvious import to do. If I had check 
> the methods, I would have seen that there was no loads/dumps method 
> available..Richard mentioned simplejson in the thread and that made me test 
> simplejson import instead.
>
> Thanks all for help and ideas! It is awesome to get such a group of 
> experts coming out to help :)
>
> Best,
>
> Clara
>
>
>
>
> . 
>
>
>
>
> El viernes, 20 de febrero de 2015, 15:19:55 (UTC-3), clara escribió:
>>
>> Hello,
>>
>> I am making an Ajax call and calling a controller with the json data I 
>> need to process in the controller.
>>
>> The problem I am having (and I am sure the answer will be simple and I 
>> will hate myself for the silly question ) is that if I select 
>> request.vars.input, its value is not a json object anymore so a loads 
>> method will fail. It is a string object and if I try to eval(it) I get an 
>> error. So even when the data is right there I can not use it in the 
>> controller. 
>> Any ideas will be more than welcome!
>>
>> (The controller and its print outs are shown bellow.)
>>
>> Thanks,
>> Clara
>>
>> def test():
>>     print "test called"
>>     print "test called"
>>     print  'request.vars'
>>     print request.vars
>>     print  'request.vars.input'
>>
>> Here is what the controller prints out:
>>
>> test called
>> request.vars
>> <Storage {'input': '[{"the_owner":1,"category":1,"name":"La marcha del 
>> oro","price":44.45,"id":1,"quantity":100},{"the_owner":3,"c
>> ategory":3,"name":"Toy 
>> Story","price":34.56,"id":2,"quantity":23},{"the_owner":2,"category":2,"name":"La
>>  
>> Sirenita","price":56.67,"
>>
>> id":3,"quantity":10},{"the_owner":null,"category":null,"name":null,"price":null,"id":null,"quantity":null}]'}>
>> request.vars.input
>> [{"the_owner":1,"category":1,"name":"La marcha del 
>> oro","price":44.45,"id":1,"quantity":100},{"the_owner":3,"category":3,"name":"T
>> oy 
>> Story","price":34.56,"id":2,"quantity":23},{"the_owner":2,"category":2,"name":"La
>>  
>> Sirenita","price":56.67,"id":3,"quantity":10}
>>
>> ,{"the_owner":null,"category":null,"name":null,"price":null,"id":null,"quantity":null}]
>>
>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to