title: pandas.read_json failing on this input?
body: <p>I'm trying to convert a list of JSON objects to a pandas DataFrame.  However, the JSON object has unquoted <code>True</code>/<code>False</code>, and <code>None</code> values, which appears to make <code>read_json</code> error out.  Is there a way to make the <code>pandas.read_json</code> method handle <code>Boolean</code> and <code>None</code> values?</p>
  
  <p>Updated with real code (my actual JSON I am getting from a web service, but I'm not able to post the real content):</p>
  
  <pre><code>import pandas as pd
  x = '[{"A": "some text","B": True,"C":7},{"A": "more text","B":False,"C":8},{"A":None,"B":False,"C":9}]'
  pd.read_json(x)
  
  ValueError: Expected object or value
  </code></pre>
  
  <p>if I quote the Nones and Booleans it seems to work.  </p>
  
  <pre><code>import pandas as pd
  x = '[{"A": "some text","B": "True","C":7},{"A": "more text","B":"False","C":8},{"A":"None","B":"False","C":9}]'
  pd.read_json(x)
  </code></pre>
  
  <p>Of course they are then strings rather than Booleans and NaNs</p>
  
  <p>Updated with error message</p>
  
  <pre><code>---------------------------------------------------------------------------
  ValueError                                Traceback (most recent call last)
  &lt;ipython-input-42-c251da58cd34&gt; in &lt;module&gt;()
        1 import pandas as pd
        2 x = '[{"A": "some text","B": True,"C":7},{"A": "more text","B":False,"C":8},{"A":None,"B":False,"C":9}]'
  ----&gt; 3 pd.read_json(x)
  
  C:\Users\Chris\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\io\json.py in read_json(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit)
      196         obj = FrameParser(json, orient, dtype, convert_axes, convert_dates,
      197                           keep_default_dates, numpy, precise_float,
  --&gt; 198                           date_unit).parse()
      199 
      200     if typ == 'series' or obj is None:
  
  C:\Users\Chris\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\io\json.py in parse(self)
      264 
      265         else:
  --&gt; 266             self._parse_no_numpy()
      267 
      268         if self.obj is None:
  
  C:\Users\Chris\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\io\json.py in _parse_no_numpy(self)
      481         if orient == "columns":
      482             self.obj = DataFrame(
  --&gt; 483                 loads(json, precise_float=self.precise_float), dtype=None)
      484         elif orient == "split":
      485             decoded = dict((str(k), v)
  
  ValueError: Expected object or value
  </code></pre>
  
  <p>So, if I treat the JSON as a python object rather than JSON I get a different error.  This code</p>
  
  <pre><code>x =   [{"A": "some text","B": "True","C":7},{"A": "more text","B":"False","C":8},{"A":"None","B":"False","C":9}]
  pd.read_json(x)
  </code></pre>
  
  <p>yields</p>
  
  <pre><code>---------------------------------------------------------------------------
  TypeError                                 Traceback (most recent call last)
  &lt;ipython-input-59-076202b1f4ce&gt; in &lt;module&gt;()
        1 x =   [{"A": "some text","B": True,"C":7},{"A": "more text","B":False,"C":8},{"A":"None","B":False,"C":9}]
  ----&gt; 2 pd.read_json(x)
  
  C:\Users\Chris\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\io\json.py in read_json(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit)
      196         obj = FrameParser(json, orient, dtype, convert_axes, convert_dates,
      197                           keep_default_dates, numpy, precise_float,
  --&gt; 198                           date_unit).parse()
      199 
      200     if typ == 'series' or obj is None:
  
  C:\Users\Chris\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\io\json.py in parse(self)
      264 
      265         else:
  --&gt; 266             self._parse_no_numpy()
      267 
      268         if self.obj is None:
  
  C:\Users\Chris\AppData\Local\Continuum\Miniconda3\lib\site-packages\pandas\io\json.py in _parse_no_numpy(self)
      481         if orient == "columns":
      482             self.obj = DataFrame(
  --&gt; 483                 loads(json, precise_float=self.precise_float), dtype=None)
      484         elif orient == "split":
      485             decoded = dict((str(k), v)
  
  TypeError: Expected String or Unicode
  </code></pre>