相关疑难解决方法(0)

Python json.loads改变了对象的顺序

我有一个包含JSON对象的文件.它已按以下方式加载:

with open('data.json', 'r') as input_file:
  input_data = input_file.read()
Run Code Online (Sandbox Code Playgroud)

此时input_data只包含一个字符串,现在我继续将其解析为JSON:

data_content = json.loads(input_data.decode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

data_content具有字符串的JSON表示,这是我需要的,但由于某些原因,在json.loads之后我不清楚它正在改变键的原始顺序,所以例如,如果我的文件包含如下内容:

{ "z_id": 312312,
  "fname": "test",
  "program": "none",
  "org": null
}
Run Code Online (Sandbox Code Playgroud)

在json.loads之后,订单被改变为让我们说:

{ "fname": "test",
  "program": None,
  "z_id": 312312,
  "org": "none"
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?有没有办法保存订单?我正在使用Python 2.7.

python json python-2.7

12
推荐指数
1
解决办法
5527
查看次数

标签 统计

json ×1

python ×1

python-2.7 ×1