python - 读取JSON文件时,如何防止输出值交错?
问题描述
从 Python 脚本读取 JSON 文件时遇到问题。这是 JSON 文件:
{
"a": 1,
"b": 2,
"c": 3,
"d": 4,
"e": 5,
"f": 6,
"g": 7,
"h": 8,
"i": 9
}
这是我从当前路径打开 JSON 文件并读取与其中的字母关联的每个值的 Python 文件:
with open(os.getcwd() + '/letters.json') as lettersListJSON:
lettersList = json.load(lettersListJSON)
for char in lettersList
print lettersList[char]
我奇怪地得到这个输出:
1
3
2
5
4
7
6
9
8
为什么这些值是交错的,我怎样才能防止这种情况发生?我应该用互斥锁锁定变量的访问吗?
解决方案
letterList
实际上是 aletterDict
所以它没有被订购 。
OrderedDict
如果您真的希望它是有序的,您可以将 JSON 加载到:
from collections import OrderedDict
letters = json.load(letterslistJSON, object_pairs_hook=OrderedDict)
(显然我省略了打开文件等)
推荐阅读
- azure-active-directory - MSAL 与 msgraph-sdk-java-auth
- apache-spark - 在当前微批处理期间,Spark 流式接收器是否继续为每个块间隔提取数据
- javascript - 尝试将两个数字相加时得到正确的结果
- spring-boot - Sping Boot - 下载 zip 文件
- python - 当我使用 scipy.optimize.minimize() 最小化目标函数时,为什么我的目标函数的矩阵参数会发生变化?
- python - Kivy 展开和折叠面板以隐藏内部元素
- arrays - 将函数数据返回到数组中
- google-bigquery - 来自 BQ 的 Apache 超集中的数据流?
- python - Tkinter 自动输入
- html - 使用 jQuery 克隆后更改属性的一部分