18. Python 标准库之 Json 模块

AI 概述
JSON是常用轻量级数据交换格式。Python内置`json`库可处理相关数据,核心有四个方法:`dumps`将字典转为JSON字符串,`loads`反向转换;`dump`把数据写入JSON文件,`load`读取文件并解析为字典。文中搭配实操示例讲解用法,可满足日常JSON数据处理与文件读写需求。
目录
文章目录隐藏
  1. 一、概述
  2. 二、json.dumps(obj)
  3. 三、 json.loads(s)
  4. 4. json.dump(obj,file)
  5. 5. json.load(file)

JSON 是一种轻量级、跨语言的数据交换格式,凭借结构简洁、易读写、传输高效的特点被广泛使用。Python 内置json标准库可轻松实现与 JSON 数据的交互。本文介绍 JSON 基础格式,并详细讲解 dumps、loads、dump、load 四大核心方法,结合实操示例演示数据转换、文件读写等常用操作。

一、概述

1.1 json 格式

使用 JSON 描述一个人:

{
    "name": "Danny",
    "age": 8
}
  • 人有两个属性: name 和 age
    • 属性 name 的值为 “Danny”
    • 属性 age 的值为 12

1.2 json 模块

Python 标准库的 json 模块提供了对 json 的支持:

  • 把字符串转换成 JSON 对象;
  • 把 JSON 对象换成字符串。

json 模块提供了如下常用方法:

方法 功能
json.dumps(obj) 将 JSON 对象转换成字符串
json.loads(obj) 将字符串转换成 JSON 对象
json.dump(obj,file) 将 JSON 对象转换成字符串,并写入到文件中
json.load(file) 读取文件中的字符串,转换成 JSON 对象

二、json.dumps(obj)

json.dumps(obj)的功能是将 JSON 对象转换成字符串,示例如下:

>>> import json
>>> object = {'name':'Danny', 'age':8}
>>> string = json.dumps(object)
>>> string
'{"name": "Danny", "age": 8}'
  • 在第 2 行,创建变量 object,变量 object 是 JSON 对象;
  • 在第 3 行,使用 dumps 将 object 转换为 string。

三、 json.loads(s)

json.loads(obj)的功能是将字符串转换成 JSON 对象,示例如下:

>>> import json
>>> string = '{"name": "Danny", "age": 8}'
>>> object = json.loads(string)
>>> object
{'name':'Danny', 'age':8}
>>> object['name']
'Danny'
>>> object['age']
8
  • 在第 2 行,创建字符串 string,它以字符串的形式描述了一个 JSON 对象;
  • 在第 3 行,使用 loads 将 string 转换为 object;
  • 在第 6 行,显示 object 的属性 name 的值;
  • 在第 8 行,显示 object 的属性 age 的值。

4. json.dump(obj,file)

json.dump(obj,file)的功能是将 JSON 对象转换成字符串,并写入到文件中,示例如下:

import json
file = open('person.json', 'w')
object = {'name':'Danny', 'age':8}
json.dump(object, file)
file.close()
  • 在第 2 行,创建文件 person.json;
  • 在第 3 行,创建 JSON 对象 object;
  • 在第 4 行,将 JSON 对象 object 写入到文件 file 中。

运行该程序,在当前目录下生成文件 person.json,内容如下:

{"name": "Danny", "age": 8}

5. json.load(file)

json.load(file)的功能是将读取文件中的字符串,转换成 JSON 对象,示例如下:

import json
file = open('person.json')
object = json.load(file)
print(object)
print(object['name'])
print(object['age'])
file.close()
  • 在第 2 行,打开文件 person.json;
  • 在第 3 行,从文件中读取字符串,转换成 JSON 对象;
  • 在第 5 行,显示 object 的属性 name 的值;
  • 在第 6 行,显示 object 的属性 age 的值。

假设当前目录下存在文件 person.json,内容如下:

{"name": "Danny", "age": 8}

运行程序后,输出结果如下:

{'name':'Danny', 'age':8}
Danny
8

本文讲解了 JSON 的基础概念与语法规范,同时完整演示了 Python json 模块的四类常用方法。借助这些接口,能够灵活完成字典与 JSON 字符串的互转,以及 JSON 数据的文件读写。掌握以上用法,便可满足日常开发中绝大多数 JSON 数据处理与数据持久化的需求。

以上关于18. Python 标准库之 Json 模块的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

17

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 18. Python 标准库之 Json 模块

发表回复