Have you looked at https://pypi.python.org/pypi/django-jsonfield/ before building your json field? If so, can you elaborate about how those implementations compare with each other?
It looks like your app does more in terms of casting data that comes from the field. Is this the major improvement?