title: ValueError: Mixing dicts with non-Series may lead to ambiguous ordering
body: <ul>
  <li>I want to read in a JSON file in to my Jupiter notebook as a pandas dataframe.</li>
  <li>macOS 10.12, Python 3.7, pandas 0.24.2</li>
  <li>my dataset: <a href="https://open.fda.gov/apis/drug/label/download/" rel="noreferrer">https://open.fda.gov/apis/drug/label/download/</a> </li>
  <li>Similar question with same error message (I have tried to use the solution from here but gives me the same error message): <a href="https://stackoverflow.com/questions/49505872/read-json-to-pandas-dataframe-valueerror-mixing-dicts-with-non-series-may-lea">Read JSON to pandas dataframe - ValueError: Mixing dicts with non-Series may lead to ambiguous ordering</a></li>
  </ul>
  
  <pre><code>import json
  import pandas as pd
  
  data = json.load(open('drug-label-0001-of-0008.json'))
  df = pd.DataFrame(data)
  </code></pre>
  
  <ul>
  <li>As this answer says I am not doing double conversion: <a href="https://stackoverflow.com/questions/50167809/pandas-vs-json-library-to-read-a-json-file-in-python">Pandas vs JSON library to read a JSON file in Python</a>
  His code just works, mine gets an error:</li>
  </ul>
  
  <pre><code>import pandas as pd
  pd_example = pd.read_json('some_json_file.json')
  </code></pre>
  
  <ul>
  <li>My code is similar but I get the following error:</li>
  </ul>
  
  <pre><code>import pandas as pd
  df = pd.read_json('drug-label-0008-of-0008.json')
  ---------------------------------------------------------------------------
  ValueError                                Traceback (most recent call last)
  &lt;ipython-input-23-77b3c3e486fc&gt; in &lt;module&gt;
  ----&gt; 1 df = pd.read_json('drug-label-0008-of-0008.json')
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/io/json/json.py in read_json(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit, encoding, lines, chunksize, compression)
      425         return json_reader
      426 
  --&gt; 427     result = json_reader.read()
      428     if should_close:
      429         try:
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/io/json/json.py in read(self)
      535             )
      536         else:
  --&gt; 537             obj = self._get_object_parser(self.data)
      538         self.close()
      539         return obj
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/io/json/json.py in _get_object_parser(self, json)
      554         obj = None
      555         if typ == 'frame':
  --&gt; 556             obj = FrameParser(json, **kwargs).parse()
      557 
      558         if typ == 'series' or obj is None:
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/io/json/json.py in parse(self)
      650 
      651         else:
  --&gt; 652             self._parse_no_numpy()
      653 
      654         if self.obj is None:
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/io/json/json.py in _parse_no_numpy(self)
      869         if orient == "columns":
      870             self.obj = DataFrame(
  --&gt; 871                 loads(json, precise_float=self.precise_float), dtype=None)
      872         elif orient == "split":
      873             decoded = {str(k): v for k, v in compat.iteritems(
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/core/frame.py in __init__(self, data, index, columns, dtype, copy)
      390                                  dtype=dtype, copy=copy)
      391         elif isinstance(data, dict):
  --&gt; 392             mgr = init_dict(data, index, columns, dtype=dtype)
      393         elif isinstance(data, ma.MaskedArray):
      394             import numpy.ma.mrecords as mrecords
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/core/internals/construction.py in init_dict(data, index, columns, dtype)
      210         arrays = [data[k] for k in keys]
      211 
  --&gt; 212     return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
      213 
      214 
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/core/internals/construction.py in arrays_to_mgr(arrays, arr_names, index, columns, dtype)
       49     # figure out the index, if necessary
       50     if index is None:
  ---&gt; 51         index = extract_index(arrays)
       52     else:
       53         index = ensure_index(index)
  
  ~/anaconda3/lib/python3.7/site-packages/pandas/core/internals/construction.py in extract_index(data)
      318 
      319             if have_dicts:
  --&gt; 320                 raise ValueError('Mixing dicts with non-Series may lead to '
      321                                  'ambiguous ordering.')
      322 
  
  ValueError: Mixing dicts with non-Series may lead to ambiguous ordering.
  </code></pre>