Re: [web2py] Re: How does web2py save JSON fields?
I decided to "stick" without the json field... too much code/decode envolved and the json will grow very big. In the admin will be a mess... Thank you all and forget it! :P 2016-08-19 16:36 GMT+01:00 António Ramos: > > [image: Imagem inline 1] > > 2016-08-19 16:26 GMT+01:00 Marlysson Silva : > >> In a view.json? weired.. >> >> Em sexta-feira, 19 de agosto de 2016 12:24:23 UTC-3, Ramos escreveu: >>> >>> Instead of "Gestão" i get this when rendering with BEAUTIFY(row) being >>> row=db.responses[my_ID] >>> allresponses : >>> Gsãcn : 1 >>> delete_record : >>> f1 : >>> id : 99L >>> update_record : >>> >>> 2016-08-19 16:18 GMT+01:00 Marlysson Silva : >>> For test, try render the controller data in a generic_view.json .. to test whether the encode the page which it's wrong.. Em sexta-feira, 19 de agosto de 2016 12:07:27 UTC-3, Ramos escreveu: > > yes i remove the unquote and saved request.vars directly. > > Also went to admin and by hand created a new record with > > {"Gestão":1} on the json field and it was saved as {u'Gs\xe3\x00cn': > 1} > > so far so good , i understand now that saving in json fields encodes > the data. > Now i need to read that data and decode it. > > Regards > António > > 2016-08-19 16:03 GMT+01:00 Marlysson Silva : > >> You removed the urllib.uquote() ? And after just receiving the >> request directly.. >> >> Em sexta-feira, 19 de agosto de 2016 11:51:54 UTC-3, Ramos escreveu: >>> >>> Ok got it. >>> If i create a new record via admin with >>> >>> {"Gestão":1} in the json Field, after saving the new record i get it >>> as >>> >>> {u'Gs\xe3\x00cn': 1} >>> >>> You said its utf-8 encoded >>> How do i decode it again to "Gestão" ? >>> u'Gs\xe3\x00cn'.decode('utf-8') does not work.. >>> >>> sorry and thank you for your time. >>> >>> António >>> >>> >>> 2016-08-19 15:16 GMT+01:00 Niphlod : >>> why don't you just pass request.vars without quoting and unquoting anyway, json is always utf-8 encoded. that's the difference you're seeing. On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: > > Hi,im starting a new post because i found that JSON fields change > data as they are saved. > So repeating again the problem posted before > > > My model > db.define_table('responses', > Field('f1'), > Field('allresponses','json')) > > My controller > def getit(): > ret={} > for x in request.vars: >db.responses.insert(f1=urllib.unquote(x)) >ret[urllib.unquote(x)]=request.vars[x]; > db.responses.insert(allresponses=ret) > > i get in my request.vars > > {'Timestamp': '8/19/2016 9:54:44', > 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': > 'sss'} > > after executing the controller code,when i look at table > responses i see in allresponses field > {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 > \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} > > but field f1 is correct > "Sistema de Gestão de Qualidade" > > So how can i deal with this? > This is just a test but i will get many keys in request vars and > so a json field would be better but need to solve this issue. > > Regards > António > > -- 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+un...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. >>> >>> -- >> 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+un...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- Resources: - http://web2py.com -
Re: [web2py] Re: How does web2py save JSON fields?
[image: Imagem inline 1] 2016-08-19 16:26 GMT+01:00 Marlysson Silva: > In a view.json? weired.. > > Em sexta-feira, 19 de agosto de 2016 12:24:23 UTC-3, Ramos escreveu: >> >> Instead of "Gestão" i get this when rendering with BEAUTIFY(row) being >> row=db.responses[my_ID] >> allresponses : >> Gsãcn : 1 >> delete_record : >> f1 : >> id : 99L >> update_record : >> >> 2016-08-19 16:18 GMT+01:00 Marlysson Silva : >> >>> For test, try render the controller data in a generic_view.json .. to >>> test whether the encode the page which it's wrong.. >>> >>> Em sexta-feira, 19 de agosto de 2016 12:07:27 UTC-3, Ramos escreveu: yes i remove the unquote and saved request.vars directly. Also went to admin and by hand created a new record with {"Gestão":1} on the json field and it was saved as {u'Gs\xe3\x00cn': 1} so far so good , i understand now that saving in json fields encodes the data. Now i need to read that data and decode it. Regards António 2016-08-19 16:03 GMT+01:00 Marlysson Silva : > You removed the urllib.uquote() ? And after just receiving the request > directly.. > > Em sexta-feira, 19 de agosto de 2016 11:51:54 UTC-3, Ramos escreveu: >> >> Ok got it. >> If i create a new record via admin with >> >> {"Gestão":1} in the json Field, after saving the new record i get it >> as >> >> {u'Gs\xe3\x00cn': 1} >> >> You said its utf-8 encoded >> How do i decode it again to "Gestão" ? >> u'Gs\xe3\x00cn'.decode('utf-8') does not work.. >> >> sorry and thank you for your time. >> >> António >> >> >> 2016-08-19 15:16 GMT+01:00 Niphlod : >> >>> why don't you just pass request.vars without quoting and unquoting >>> >>> anyway, json is always utf-8 encoded. that's the difference you're >>> seeing. >>> >>> >>> On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: Hi,im starting a new post because i found that JSON fields change data as they are saved. So repeating again the problem posted before My model db.define_table('responses', Field('f1'), Field('allresponses','json')) My controller def getit(): ret={} for x in request.vars: db.responses.insert(f1=urllib.unquote(x)) ret[urllib.unquote(x)]=request.vars[x]; db.responses.insert(allresponses=ret) i get in my request.vars {'Timestamp': '8/19/2016 9:54:44', 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': 'sss'} after executing the controller code,when i look at table responses i see in allresponses field {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} but field f1 is correct "Sistema de Gestão de Qualidade" So how can i deal with this? This is just a test but i will get many keys in request vars and so a json field would be better but need to solve this issue. Regards António -- >>> 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+un...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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+un...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- >>> 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+un...@googlegroups.com. >>> For
Re: [web2py] Re: How does web2py save JSON fields?
In a view.json? weired.. Em sexta-feira, 19 de agosto de 2016 12:24:23 UTC-3, Ramos escreveu: > > Instead of "Gestão" i get this when rendering with BEAUTIFY(row) being > row=db.responses[my_ID] > allresponses : > Gsãcn : 1 > delete_record : > f1 : > id : 99L > update_record : > > 2016-08-19 16:18 GMT+01:00 Marlysson Silva>: > >> For test, try render the controller data in a generic_view.json .. to >> test whether the encode the page which it's wrong.. >> >> Em sexta-feira, 19 de agosto de 2016 12:07:27 UTC-3, Ramos escreveu: >>> >>> yes i remove the unquote and saved request.vars directly. >>> >>> Also went to admin and by hand created a new record with >>> >>> {"Gestão":1} on the json field and it was saved as {u'Gs\xe3\x00cn': 1} >>> >>> so far so good , i understand now that saving in json fields encodes the >>> data. >>> Now i need to read that data and decode it. >>> >>> Regards >>> António >>> >>> 2016-08-19 16:03 GMT+01:00 Marlysson Silva : >>> You removed the urllib.uquote() ? And after just receiving the request directly.. Em sexta-feira, 19 de agosto de 2016 11:51:54 UTC-3, Ramos escreveu: > > Ok got it. > If i create a new record via admin with > > {"Gestão":1} in the json Field, after saving the new record i get it as > > {u'Gs\xe3\x00cn': 1} > > You said its utf-8 encoded > How do i decode it again to "Gestão" ? > u'Gs\xe3\x00cn'.decode('utf-8') does not work.. > > sorry and thank you for your time. > > António > > > 2016-08-19 15:16 GMT+01:00 Niphlod : > >> why don't you just pass request.vars without quoting and unquoting >> >> anyway, json is always utf-8 encoded. that's the difference you're >> seeing. >> >> >> On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: >>> >>> Hi,im starting a new post because i found that JSON fields change >>> data as they are saved. >>> So repeating again the problem posted before >>> >>> >>> My model >>> db.define_table('responses', >>> Field('f1'), >>> Field('allresponses','json')) >>> >>> My controller >>> def getit(): >>> ret={} >>> for x in request.vars: >>>db.responses.insert(f1=urllib.unquote(x)) >>>ret[urllib.unquote(x)]=request.vars[x]; >>> db.responses.insert(allresponses=ret) >>> >>> i get in my request.vars >>> >>> {'Timestamp': '8/19/2016 9:54:44', >>> 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': 'sss'} >>> >>> after executing the controller code,when i look at table responses >>> i see in allresponses field >>> {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 >>> \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} >>> >>> but field f1 is correct >>> "Sistema de Gestão de Qualidade" >>> >>> So how can i deal with this? >>> This is just a test but i will get many keys in request vars and so >>> a json field would be better but need to solve this issue. >>> >>> Regards >>> António >>> >>> -- >> 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+un...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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+un...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. >>> >>> -- >> 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+un...@googlegroups.com . >> For more options, visit https://groups.google.com/d/optout. >> > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) -
Re: [web2py] Re: How does web2py save JSON fields?
Instead of "Gestão" i get this when rendering with BEAUTIFY(row) being row=db.responses[my_ID] allresponses : Gsãcn : 1 delete_record : f1 : id : 99L update_record : 2016-08-19 16:18 GMT+01:00 Marlysson Silva: > For test, try render the controller data in a generic_view.json .. to test > whether the encode the page which it's wrong.. > > Em sexta-feira, 19 de agosto de 2016 12:07:27 UTC-3, Ramos escreveu: >> >> yes i remove the unquote and saved request.vars directly. >> >> Also went to admin and by hand created a new record with >> >> {"Gestão":1} on the json field and it was saved as {u'Gs\xe3\x00cn': 1} >> >> so far so good , i understand now that saving in json fields encodes the >> data. >> Now i need to read that data and decode it. >> >> Regards >> António >> >> 2016-08-19 16:03 GMT+01:00 Marlysson Silva : >> >>> You removed the urllib.uquote() ? And after just receiving the request >>> directly.. >>> >>> Em sexta-feira, 19 de agosto de 2016 11:51:54 UTC-3, Ramos escreveu: Ok got it. If i create a new record via admin with {"Gestão":1} in the json Field, after saving the new record i get it as {u'Gs\xe3\x00cn': 1} You said its utf-8 encoded How do i decode it again to "Gestão" ? u'Gs\xe3\x00cn'.decode('utf-8') does not work.. sorry and thank you for your time. António 2016-08-19 15:16 GMT+01:00 Niphlod : > why don't you just pass request.vars without quoting and unquoting > anyway, json is always utf-8 encoded. that's the difference you're > seeing. > > > On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: >> >> Hi,im starting a new post because i found that JSON fields change >> data as they are saved. >> So repeating again the problem posted before >> >> >> My model >> db.define_table('responses', >> Field('f1'), >> Field('allresponses','json')) >> >> My controller >> def getit(): >> ret={} >> for x in request.vars: >>db.responses.insert(f1=urllib.unquote(x)) >>ret[urllib.unquote(x)]=request.vars[x]; >> db.responses.insert(allresponses=ret) >> >> i get in my request.vars >> >> {'Timestamp': '8/19/2016 9:54:44', >> 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': >> 'sss'} >> >> after executing the controller code,when i look at table responses >> i see in allresponses field >> {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 >> \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} >> >> but field f1 is correct >> "Sistema de Gestão de Qualidade" >> >> So how can i deal with this? >> This is just a test but i will get many keys in request vars and so a >> json field would be better but need to solve this issue. >> >> Regards >> António >> >> -- > 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+un...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- >>> 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+un...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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. > -- 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
Re: [web2py] Re: How does web2py save JSON fields?
For test, try render the controller data in a generic_view.json .. to test whether the encode the page which it's wrong.. Em sexta-feira, 19 de agosto de 2016 12:07:27 UTC-3, Ramos escreveu: > > yes i remove the unquote and saved request.vars directly. > > Also went to admin and by hand created a new record with > > {"Gestão":1} on the json field and it was saved as {u'Gs\xe3\x00cn': 1} > > so far so good , i understand now that saving in json fields encodes the > data. > Now i need to read that data and decode it. > > Regards > António > > 2016-08-19 16:03 GMT+01:00 Marlysson Silva>: > >> You removed the urllib.uquote() ? And after just receiving the request >> directly.. >> >> Em sexta-feira, 19 de agosto de 2016 11:51:54 UTC-3, Ramos escreveu: >>> >>> Ok got it. >>> If i create a new record via admin with >>> >>> {"Gestão":1} in the json Field, after saving the new record i get it as >>> >>> {u'Gs\xe3\x00cn': 1} >>> >>> You said its utf-8 encoded >>> How do i decode it again to "Gestão" ? >>> u'Gs\xe3\x00cn'.decode('utf-8') does not work.. >>> >>> sorry and thank you for your time. >>> >>> António >>> >>> >>> 2016-08-19 15:16 GMT+01:00 Niphlod : >>> why don't you just pass request.vars without quoting and unquoting anyway, json is always utf-8 encoded. that's the difference you're seeing. On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: > > Hi,im starting a new post because i found that JSON fields change data > as they are saved. > So repeating again the problem posted before > > > My model > db.define_table('responses', > Field('f1'), > Field('allresponses','json')) > > My controller > def getit(): > ret={} > for x in request.vars: >db.responses.insert(f1=urllib.unquote(x)) >ret[urllib.unquote(x)]=request.vars[x]; > db.responses.insert(allresponses=ret) > > i get in my request.vars > > {'Timestamp': '8/19/2016 9:54:44', > 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': 'sss'} > > after executing the controller code,when i look at table responses i > see in allresponses field > {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 > \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} > > but field f1 is correct > "Sistema de Gestão de Qualidade" > > So how can i deal with this? > This is just a test but i will get many keys in request vars and so a > json field would be better but need to solve this issue. > > Regards > António > > -- 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+un...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. >>> >>> -- >> 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+un...@googlegroups.com . >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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.
Re: [web2py] Re: How does web2py save JSON fields?
yes i remove the unquote and saved request.vars directly. Also went to admin and by hand created a new record with {"Gestão":1} on the json field and it was saved as {u'Gs\xe3\x00cn': 1} so far so good , i understand now that saving in json fields encodes the data. Now i need to read that data and decode it. Regards António 2016-08-19 16:03 GMT+01:00 Marlysson Silva: > You removed the urllib.uquote() ? And after just receiving the request > directly.. > > Em sexta-feira, 19 de agosto de 2016 11:51:54 UTC-3, Ramos escreveu: >> >> Ok got it. >> If i create a new record via admin with >> >> {"Gestão":1} in the json Field, after saving the new record i get it as >> >> {u'Gs\xe3\x00cn': 1} >> >> You said its utf-8 encoded >> How do i decode it again to "Gestão" ? >> u'Gs\xe3\x00cn'.decode('utf-8') does not work.. >> >> sorry and thank you for your time. >> >> António >> >> >> 2016-08-19 15:16 GMT+01:00 Niphlod : >> >>> why don't you just pass request.vars without quoting and unquoting >>> anyway, json is always utf-8 encoded. that's the difference you're >>> seeing. >>> >>> >>> On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: Hi,im starting a new post because i found that JSON fields change data as they are saved. So repeating again the problem posted before My model db.define_table('responses', Field('f1'), Field('allresponses','json')) My controller def getit(): ret={} for x in request.vars: db.responses.insert(f1=urllib.unquote(x)) ret[urllib.unquote(x)]=request.vars[x]; db.responses.insert(allresponses=ret) i get in my request.vars {'Timestamp': '8/19/2016 9:54:44', 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': 'sss'} after executing the controller code,when i look at table responses i see in allresponses field {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} but field f1 is correct "Sistema de Gestão de Qualidade" So how can i deal with this? This is just a test but i will get many keys in request vars and so a json field would be better but need to solve this issue. Regards António -- >>> 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+un...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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. > -- 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.
Re: [web2py] Re: How does web2py save JSON fields?
You removed the urllib.uquote() ? And after just receiving the request directly.. Em sexta-feira, 19 de agosto de 2016 11:51:54 UTC-3, Ramos escreveu: > > Ok got it. > If i create a new record via admin with > > {"Gestão":1} in the json Field, after saving the new record i get it as > > {u'Gs\xe3\x00cn': 1} > > You said its utf-8 encoded > How do i decode it again to "Gestão" ? > u'Gs\xe3\x00cn'.decode('utf-8') does not work.. > > sorry and thank you for your time. > > António > > > 2016-08-19 15:16 GMT+01:00 Niphlod: > >> why don't you just pass request.vars without quoting and unquoting >> anyway, json is always utf-8 encoded. that's the difference you're seeing. >> >> >> On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: >>> >>> Hi,im starting a new post because i found that JSON fields change data >>> as they are saved. >>> So repeating again the problem posted before >>> >>> >>> My model >>> db.define_table('responses', >>> Field('f1'), >>> Field('allresponses','json')) >>> >>> My controller >>> def getit(): >>> ret={} >>> for x in request.vars: >>>db.responses.insert(f1=urllib.unquote(x)) >>>ret[urllib.unquote(x)]=request.vars[x]; >>> db.responses.insert(allresponses=ret) >>> >>> i get in my request.vars >>> >>> {'Timestamp': '8/19/2016 9:54:44', >>> 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': 'sss'} >>> >>> after executing the controller code,when i look at table responses i >>> see in allresponses field >>> {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 >>> \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} >>> >>> but field f1 is correct >>> "Sistema de Gestão de Qualidade" >>> >>> So how can i deal with this? >>> This is just a test but i will get many keys in request vars and so a >>> json field would be better but need to solve this issue. >>> >>> Regards >>> António >>> >>> -- >> 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+un...@googlegroups.com . >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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.
Re: [web2py] Re: How does web2py save JSON fields?
Ok got it. If i create a new record via admin with {"Gestão":1} in the json Field, after saving the new record i get it as {u'Gs\xe3\x00cn': 1} You said its utf-8 encoded How do i decode it again to "Gestão" ? u'Gs\xe3\x00cn'.decode('utf-8') does not work.. sorry and thank you for your time. António 2016-08-19 15:16 GMT+01:00 Niphlod: > why don't you just pass request.vars without quoting and unquoting > anyway, json is always utf-8 encoded. that's the difference you're seeing. > > > On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: >> >> Hi,im starting a new post because i found that JSON fields change data as >> they are saved. >> So repeating again the problem posted before >> >> >> My model >> db.define_table('responses', >> Field('f1'), >> Field('allresponses','json')) >> >> My controller >> def getit(): >> ret={} >> for x in request.vars: >>db.responses.insert(f1=urllib.unquote(x)) >>ret[urllib.unquote(x)]=request.vars[x]; >> db.responses.insert(allresponses=ret) >> >> i get in my request.vars >> >> {'Timestamp': '8/19/2016 9:54:44', >> 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': >> 'sss'} >> >> after executing the controller code,when i look at table responses i >> see in allresponses field >> {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 >> \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} >> >> but field f1 is correct >> "Sistema de Gestão de Qualidade" >> >> So how can i deal with this? >> This is just a test but i will get many keys in request vars and so a >> json field would be better but need to solve this issue. >> >> Regards >> António >> >> -- > 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. > -- 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.
[web2py] Re: How does web2py save JSON fields?
why don't you just pass request.vars without quoting and unquoting anyway, json is always utf-8 encoded. that's the difference you're seeing. On Friday, August 19, 2016 at 11:43:55 AM UTC+2, Ramos wrote: > > Hi,im starting a new post because i found that JSON fields change data as > they are saved. > So repeating again the problem posted before > > > My model > db.define_table('responses', > Field('f1'), > Field('allresponses','json')) > > My controller > def getit(): > ret={} > for x in request.vars: >db.responses.insert(f1=urllib.unquote(x)) >ret[urllib.unquote(x)]=request.vars[x]; > db.responses.insert(allresponses=ret) > > i get in my request.vars > > {'Timestamp': '8/19/2016 9:54:44', > 'Sistema%20de%20Gest%C3%A3o%20de%20Qualidade': 'sss'} > > after executing the controller code,when i look at table responses i see > in allresponses field > {'Timestamp': 8/19/2016 9:54:44', u'Sistema de Gest\xe3o\x00 > \x00d\x00e\x00 \x00Q\x00u\x00': 'sss'} > > but field f1 is correct > "Sistema de Gestão de Qualidade" > > So how can i deal with this? > This is just a test but i will get many keys in request vars and so a json > field would be better but need to solve this issue. > > Regards > António > > -- 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.