title: Python json.loads changes the order of the object
body: <p>I've got a file that contains a JSON object. It's been loaded the following way:</p>
  
  <pre><code>with open('data.json', 'r') as input_file:
    input_data = input_file.read()
  </code></pre>
  
  <p>At this point input_data contains just a string, and now I proceed to parse it into JSON:</p>
  
  <pre><code>data_content = json.loads(input_data.decode('utf-8'))
  </code></pre>
  
  <p>data_content has the JSON representation of the string which is what I need, but for some reason not clear to me after json.loads it is altering the order original order of the keys, so for instance, if my file contained something like:</p>
  
  <pre><code>{ "z_id": 312312,
    "fname": "test",
    "program": "none",
    "org": null
  }
  </code></pre>
  
  <p>After json.loads the order is altered to let's say something like:</p>
  
  <pre><code>{ "fname": "test",
    "program": None,
    "z_id": 312312,
    "org": "none"
  }
  </code></pre>
  
  <p>Why is this happening? Is there a way to preserve the order? I'm using Python 2.7.</p>