hfaran / Tornado-JSON

A simple JSON API framework based on Tornado
http://tornado-json.readthedocs.org/
MIT License
274 stars 60 forks source link

Python tuples fail to validate as Json lists #94

Open micpalmia opened 8 years ago

micpalmia commented 8 years ago

We are using @schema.validate on our controllers. A property defined as

"properties": {
  "probability_list": {
    "type": "array"
  }
}

will unfortunately fail in case a Python tuple is passed instead of a list. json.dumps will always transform Python tuples to list, so I don't see why validate should raise an exception on encountering a tuple.

Any insight on how to solve this without having to transform all of my tuples into list before outputting them?

micpalmia commented 8 years ago

According to https://github.com/Julian/jsonschema/issues/148 , a custom validator can be used to solve this issue. tornado-json's validate already allows to pass a format_checker, but this is only use for input validation, not for the output. Was this done on purpose? What would be the issue to passing the same checker when validating the output too?