Hi there, I'm using Version 2.4.6-stable+timestamp.2013.05.17.14.52.19, Running on mac, Python 2.7.2, no external JSON library installed.
Sending the following data via PUT, application/json; charset=UTF-8: {"id": 3} results in a JSON parser error occurring at main.py: if is_json: try: logging.info('before') <--- my addition json_vars = sj.load(body) logging.info('after') <--- my addition body.seek(0) except Exception, e: <--- my addition logging.exception(e) <--- my addition # incoherent request bodies can still be parsed "ad-hoc" json_vars = {} pass # update vars and get_vars with what was posted as json request.get_vars.update(json_vars) request.vars.update(json_vars) INFO 2013-05-24 00:07:21,100 main.py:337] before INFO 2013-05-24 00:07:21,100 main.py:338] <module 'json' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py'> ERROR 2013-05-24 00:07:21,100 main.py:346] No JSON object could be decoded Traceback (most recent call last): File "/Projects/www/app/gluon/main.py", line 340, in parse_get_post_vars json_vars = sj.load(body) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 278, in load **kw) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 326, in loads return _default_decoder.decode(s) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 384, in raw_decode raise ValueError("No JSON object could be decoded") Appears to be related to the id() function for some reason, as changing the attribute name to anything other than "id" works fine. Help on built-in function id in module __builtin__: id(...) id(object) -> integer Return the identity of an object. This is guaranteed to be unique among simultaneously existing objects. (Hint: it's the object's memory address.) If I explicitly force it to use contrib.simplejson. i.e. change the top of main.py try: import simplejson as sj #external installed library except: try: import contrib.simplejson as sj #pure python library <--- Pasted. except: import contrib.simplejson as sj #pure python library I get the same result. Any ideas? Thanks in advance, Matt -- --- 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/groups/opt_out.