jsonschema python 为错误消息编码的字符串

jsonschema python string encoded for error message

当使用 jsonschema 验证某些 json 时,错误消息将 u 添加到所有键的前面。这可以避免吗?

json = request.json_body

errors = jsonValidator.iter_errors(json)

那么error.message就是

"{u'data': [{u'y': u'ho', u'x': u'2000-04-23'}, {u'y': 2, u'x': u'2000-04-24'}, {u'y': 4, u'x': u'2000-04-25'}], u'updated': u'2012-05-29T18:25:43.511Z', u'created': u'2012-04-23T18:25:43.511Z', u'user_id': u'1', u'title': u'Velocity vs Time upon blah blah'} is not of type 'array'"

u 表示密钥字符串是用 Unicode 编码的。这不太可能导致任何问题 - u'data' 在功能上等同于 'data' 就您的目的而言,我认为。

根据您的评论,您可以使用简单的字符串替换操作将 u' 替换为 ':

error.message.replace('u\'', '\'')