解析JSON文件
现在让我们来解析之前创建的distres.json文件。
很简单,只需要打开文件,其他操作和之前一样:
with open('distros.json', 'r') as f: distros_dict = json.load(f) for distro in distros_dict: print(distro['Name'])
导入JSON模块。
import json
然后,创建一些基本的JSON数据。
它与字典共享几乎相同的语法。
Python将JSON视为一个字符串,除非它来自文件。
json_data = '{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}'
创建一个json文件:
distres.json:
[ { "Name": "Debian", "Version": "9", "Install": "apt", "Owner": "SPI", "Kernel": "4.9" }, { "Name": "Ubuntu", "Version": "17.10", "Install": "apt", "Owner": "Canonical", "Kernel": "4.13" }, { "Name": "Fedora", "Version": "26", "Install": "dnf", "Owner": "Red Hat", "Kernel": "4.13" }, { "Name": "CentOS", "Version": "7", "Install": "yum", "Owner": "Red Hat", "Kernel": "3.10" }, { "Name": "OpenSUSE", "Version": "42.3", "Install": "zypper", "Owner": "Novell", "Kernel": "4.4" }, { "Name": "Arch Linux", "Version": "Rolling Release", "Install": "pacman", "Owner": "SPI", "Kernel": "4.13" }, { "Name": "Gentoo", "Version": "Rolling Release", "Install": "emerge", "Owner": "Gentoo Foundation", "Kernel": "4.12" } ]
Python使用来自json
的loads
方法从字符串加载JSON。
加载并打印JSON数据:
parsed_json = (json.loads(json_data)) print(json.dumps(parsed_json, indent=4, sort_keys=True))
将json数据解析后保存到变量中并进行处理:
loaded_json = json.loads(json_data) for x in loaded_json: print("%s: %d" % (x, loaded_json[x]))
解析对象
JSON实际上是JavaScript中的对象,有时候我们也需要将它变成Python中的对象。
通过将JSON加载到一个对象的“__dict __
属性”。
class Test(object): def __init__(self, data): self.__dict__ = json.loads(data) test1 = Test(json_data) print(test1.a)
日期:2020-07-07 20:54:28 来源:oir作者:oir