当前位置: 首页>>技术教程>>正文


如何将数据从Python编码为JSON

, ,

目的

将Python数据编码为JSON。

发行版

这将适用于安装了Python的任何发行版。

要求

使用Python进行有效的Linux安装

困难

简单

约定

  • -要求linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo命令
  • $-要求linux命令以普通非特权用户身份执行

介绍

JSON是用于在程序和/或语言之间传递数据的通用格式,尤其是在Web上。 Python具有出色的内置支持,可以将数据从Python程序转换为JSON,以供其他程序使用。

基本编码

Python的JSON支持来自一个模块。在使用JSON之前,您需要导入它。

import json

接下来,该方法要求将您的数据安排在字典中。设置要使用的字典。

distro_install_command = {'Debian': 'apt', 
						  'Ubuntu': 'apt',
						  'Fedora': 'dnf', 
						  'CentOS': 'yum',
						  'OpenSUSE': 'zypper',
						  'Arch': 'pacman',
						  'Gentoo': 'emerge'
}

有一种方法叫做dumps在里面json可用于将数据”dump”转换为JSON的模块。

distro_json = json.dumps(distro_install_command)

尝试将其打印出来。

print(distro_json)

它有点整洁,因为它已经是字典了,但是没有以常规的JSON结构显示。

排序

如果您希望JSON像JSON一样打印出来,则需要传递一些其他选项json.dumps

distro_json = json.dumps(distro_install_command, sort_keys=True, indent=4)

尝试打印出来。它看起来更像您期望的那样。

print(distro_json)

文件输出

最好将JSON输出到可以访问的位置。网络上最常见的选项是使用JSON创建API。这超出了本指南的范围,因此将涵盖创建文件的内容。

因此,由于必须布置所有部分,因此使用Python文件更容易使用此部分。从上方开始,使用导入和字典设置文件。

现在,最简单的结构是with声明。它将大量代码压缩为简化形式,并确保关闭文件。你的with语句应类似于以下内容。

with open('distros.json', 'w') as f:
    json.dump(distro_install_command, f)

该块运行后,JSON将被写入文件。注意细微的差异。这需要dump方法而不是dumps方法。dumps将其视为字符串,这会使事情搞砸。

对象

您也可以将对象序列化为JSON,但这需要一些额外的工作。json.dumps只接受字典,因此您需要使用__dict))对象的属性。它包含有关组织在字典中的对象的信息,并且可以像对待字典一样使用该对象。

创建一个要使用的对象。

class Test(object):
    def __init__():
	    self.a = 10
		self.b = 15
		self.c = 20

test1 = Test()

您可以将实例化的对象传递给json.dumps

print(json.dumps(test1.__dict__))

您将看到打印出在对象中设置的变量。

总结思想

编码JSON就是这样。您绝对可以做更多,并尝试不同的数据配置。 JSON和字典具有相似的语法和结构,因此很容易以一种易于理解的方式排列数据。

练习题

  1. 导入JSON模块
  2. 创建字典进行编码
  3. 打印编码的字典
  4. 打印编码和排序的字典
  5. 将字典作为JSON导出到文件
  6. 创建一个包含实例数据的Python对象
  7. 将对象打印为JSON
  8. 将对象作为JSON导出到文件

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11064.html,未经允许,请勿转载。