Python JSON2025 年 4 月 17 日 | 6 分钟阅读 JSON,即 JavaScript Object Notation,是一种流行的在线数据交换格式。JSON 是在客户端和服务器之间组织数据的最佳格式。编程语言 JavaScript 与这种语言的语法相似。JSON 的主要目标是客户端和 Web 服务器之间的数据传输。它是交换数据最有效的方法,并且易于掌握。它与许多其他编程语言兼容,包括 Python、Perl、Java 等。 在 JavaScript 中,JSON 主要支持以下六种数据形式
JSON 的基础是两种结构
Python 字典与 JSON 数据结构相似。以下是 JSON 数据的示例 使用 Python JSONJson 是 Python 提供的一个模块。Python 支持标准库中的 marshal 和 pickle 模块,JSON API 的功能与这些库相似。Python 原生支持 JSON 特性。 JSON 数据的序列化过程称为编码。数据通过序列化技术转换为一系列字节并在网络上传输。 输出 ['JSONDecodeError', 'JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_default_decoder', '_default_encoder', 'codecs', 'decoder', 'detect_encoding', 'dump', 'dumps', 'encoder', 'load', 'loads', 'scanner'] 本节将介绍以下技术
序列化 JSON将 Python 对象转换为 JSON 的过程称为序列化。当计算机需要处理大量数据时,将数据存储在文件中是一个好主意。使用 JSON 函数,我们可以将 JSON 数据存储在文件中。json 模块中提供了 dump() 和 dumps() 方法,用于修改 Python 对象。 以下 JSON 项由 Python 对象创建。以下是每个的列表
Python 中提供了一个 dump() 函数,用于以 JSON 格式通信(编码)数据。它接受两个位置参数:需要序列化的数据对象和需要接收字节的类文件对象。 让我们看一个简单的序列化示例 输出 {"Name" : "Peter", "Roll_no" : "0090014" , "Grade" : "A", "Age" : 20, "Subject" : ["Computer Graphics", "Discrete Mathematics", "Data Structure"] } 在上面的程序中,以写入模式打开了一个名为 data.json 的文件。我们以写入模式打开此文件,以便在文件不存在时创建它。字典使用 json.dump() 方法转换为 JSON 字符串。
dumps() 函数用于将序列化数据保存在 Python 文件中。它只接受一个参数,即要序列化的 Python 数据。我们不将数据写入磁盘,因此不使用类文件参数。让我们考虑以下示例 输出 {"Name": "Peter", "Roll_no": "0090014", "Grade": "A", "Age": 20} JSON 允许分层列表、元组、对象以及字符串和数字等基本数据类型。 输出 ["Welcome", "to", "javaTpoint"] ["Welcome", "to", "javaTpoint"] "Hello" 1234 23.572 true false null JSON 反序列化将 JSON 数据转换为 Python 对象的过程称为反序列化。json 模块的 load() 和 loads() 方法用于将 JSON 数据转换为 Python 对象。以下是每个的列表
尽管技术上并非 JSON 数据的精确转换,但上表描述了序列化表的相反情况。这表明如果我们将对象编码然后稍后再次解码,则该对象可能不相同。 让我们使用一个真实的例子。如果有人将某物翻译成中文,然后再翻译回英文,则翻译可能不正确。以这个简单的例子为例。 输出 <class 'tuple'> <class 'list'>
load() 函数用于将文件中的 JSON 数据反序列化为 Python 对象。考虑以下实例 输出 {'Name': 'Peter', 'Roll_no': '0090014', 'Grade': 'A', 'Age': 20} 在上面的程序中,我们使用 dump() 函数将 Python 对象编码到文件中。然后,我们使用 load() 函数和参数 read_file 读取 JSON 文件。 loads() 函数是 json 模块的另一个功能,用于将 JSON 输入转换为 Python 对象。它与 load() 函数非常相似。考虑以下实例 输出 ['Mathew', 'Peter', [10, 32.9, 80], {'Name': 'Tokyo'}] json.load() 与 json.loads()json.load() 函数用于加载 JSON 文件,而 json.loads() 函数用于加载字符串。 json.dump() 与 json.dumps()当我们将 Python 对象序列化为 JSON 文件时,我们使用 json.dump() 函数。我们还使用 json.dumps() 函数将 JSON 数据转换为字符串进行处理和打印。 Python 漂亮打印 JSON有时需要分析和调试大量 JSON 数据。这可以通过向 json.dumps() 和 json.dump() 函数提供额外的参数(例如 indent 和 sort_keys)来完成。 注意:dump() 和 dumps() 函数都接受 indent 和 short_keys 参数。请看以下示例 输出 { "Age": 23, "City": "English", "Name": "Andrew", "Number": 90014, "Subject": [ "Data Structure", "Computer Graphics", "Discrete mathematics" ] } 在上面的代码中,键按升序排序,并且 indent 参数已给定五个空格。Sort_key 的默认值为 False,indent 的默认值为 None。 编码与解码将文本或值转换为加密形式的过程称为编码。只有选定的用户才能在解码后使用加密数据。序列化是编码的另一个名称,反序列化是解码的另一个名称。对于 JSON(对象) 格式,执行编码和解码。Python 中提供了一个用于此类任务的流行模块。可以在 Windows 上使用下面列出的命令进行安装 编码 - encode() 函数是 demon 包的一部分,用于将 Python 对象转换为 JSON 字符串表示形式。 语法如下 示例 1 - 使用 demjson 包进行编码 输出 [{"Age":20,"Name":"Peter","Subject":"Electronics"}] 解码 - demon 模块的 decode() 函数用于将 JSON 对象转换为 Python 格式类型。 语法如下 输出 ['Peter', 'Smith', 'Ricky', 'Hayden'] 在本教程中,我们学习了 Python JSON。JSON 是在客户端和 Web 服务器之间传输数据最有效的方式。 下一主题Python 中的上下文管理器 |
我们请求您订阅我们的新闻通讯以获取最新更新。