oh - I bet it is that web2py is expecting a field called id whereas I define my own primary key 'pkey' and there is no 'id'
assuming that is true, then tables with no primary key 'id' are not serializable by json, but xml works ? seems like a side effect and not intended behavior