如何将 JSON 转换为 Ordereddict?
JSON 的完整形式是 JavaScript Object Notation。这意味着由编程语言中的文本组成的脚本(可执行)文件用于存储和传输数据。 Python通过一个名为json的内置包支持 JSON。要使用此功能,我们在Python脚本中导入json包。 JSON 中的文本是通过引用字符串完成的,它包含 {} 内键值映射中的值。它类似于Python中的字典。
OrderedDict是一个字典子类,它记住第一次插入键的顺序。 dict()和OrderedDict()之间的唯一区别在于: OrderedDict保留键插入的顺序。常规dict不跟踪插入顺序并迭代它以任意顺序给出值。
在本文中,我们将讨论将JSON转换为Ordereddict的各种方法。
方法#1
通过为JSONDecoder指定object_pairs_hook参数。
Python
# import required modules
import json
from collections import OrderedDict
# assign json file
jsonFile = '{"Geeks":1, "for": 2, "geeks":3}'
print(jsonFile)
# convert to Ordereddict
data = json.JSONDecoder(object_pairs_hook=OrderedDict).decode(jsonFile)
print(data)
Python
# import required modules
import json
from collections import OrderedDict
# assign json file
jsonFile = '{"Geeks":1, "for": 2, "geeks":3}'
print(jsonFile)
# convert to Ordereddict
data = json.loads(jsonFile,
object_pairs_hook=OrderedDict)
print(data)
输出:
{"Geeks":1, "for": 2, "geeks":3}
OrderedDict([(u'Geeks', 1), (u'for', 2), (u'geeks', 3)])
方法#2
通过将 JSON 数据作为参数传递给 json.loads()。
Python
# import required modules
import json
from collections import OrderedDict
# assign json file
jsonFile = '{"Geeks":1, "for": 2, "geeks":3}'
print(jsonFile)
# convert to Ordereddict
data = json.loads(jsonFile,
object_pairs_hook=OrderedDict)
print(data)
输出:
{"Geeks":1, "for": 2, "geeks":3}
OrderedDict([(u'Geeks', 1), (u'for', 2), (u'geeks', 3)])