title: Django 1.9 JSONfield stored dictionary returns unicode instead
body: <p>We've just upgraded to Django 1.9 and moved things to its built-in JSONfield, which we use to store a dictionary. However, when I try to read data from it, it returns unicode of the dictionary instead.</p>
  
  <p>My JSONfield is defined as:</p>
  
  <pre><code>class SmsInfo(models.Model):
      [...] 
      json = JSONField(default=dict)
  </code></pre>
  
  <p>Data is written to it by:</p>
  
  <pre><code>params = dict(request.POST)
  SmsInfo.objects.create([...], json=params, [...])
  </code></pre>
  
  <p>It is later read in this way:</p>
  
  <pre><code>incoming_smsses = SmsInfo.objects.select_related('game').defer('game__serialized').filter([...])
  </code></pre>
  
  <p>At which point:</p>
  
  <pre><code> print incoming_smsses[0].json.__class__
  </code></pre>
  
  <p>returns </p>
  
  <pre><code>&lt;type 'unicode'&gt; 
  </code></pre>
  
  <p>instead of the dict I am expecting and my code crashes because it can't look up any keys.</p>
  
  <p>I've been stuck on this for quite a bit, and I can't figure out why this is going wrong. I've used literal_eval as a workaround for now, which turns the unicode back into a dict. That works for now, but I'd rather tackle this at the source!</p>
  
  <p>Why is my dictionary being turned to unicode here?</p>