I'm currently reviewing an application i'm working on which use JSONField for json entries in the model like so.
json_config = JSONField(blank=True)
Enter valid JSON
Invalid control character u'\r' at: line 5 column 16 (char 78)
It's a bit late but what i did for this was, on the form itself, i used a TextField whose input i then pass to simplejson.loads() which in turn returns the error message that I need back to the form. Once everything checks out with the json and is valud, i pass the contents of the simplejson.loads() to the JSONField for saving.