Tornado-JSON icon indicating copy to clipboard operation
Tornado-JSON copied to clipboard

Python tuples fail to validate as Json lists

Open micpalmia opened this issue 8 years ago • 1 comments

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 avatar Sep 19 '16 13:09 micpalmia

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?

micpalmia avatar Sep 19 '16 14:09 micpalmia