...
def parse_post_vars(self):
...
if len(pvalue):
post_vars[key] = (len(pvalue) > 1 and pvalue) or pvalue[0]
The above underlined line is what I am talking about. When the browser post a json object with an array, if the array length is 1, it simply returns the first argument and denatures the array property. Also, the key of the object is appended '[]'. For example, when I submit {'key':['value1']}, what I get in request.post_vars is {'key[]':'value1'}.
Is it an intended behavior, or a bug? I am not sure whether this question belongs to web2py-users or web2py-dev; posting here hoping this is a well-known issue.