网站首页 > 开源技术 正文
定义:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
特点:简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
Python在使用json这个模块前,首先要导入json库:import json
序列化:将python的值转换为json格式的字符串。
反序列化:将json格式的字符串转换成python的数据类型
方法 | 描述 |
json.dumps() | 将 Python 对象编码成 JSON 字符串 |
json.loads() | 将已编码的 JSON 字符串解码为 Python 对象(字典) |
json.dump() | 将Python内置类型序列化为json对象后写入文件 |
json.load() | 读取文件中json形式的字符串元素转化为Python类型 |
代码举例:
1、json.dumps() #将Python对象编码成json字符串
import json
data = {'a':'test','b':100}
print(json.dumps(data))
结果:
{"a": "test", "b": 100}
# 注: 原先的单引号已经变成双引号了
json.dumps()过程中的中文显示
import json
v = {'k1':'alex','k2':'中文'}
print(json.dumps(v))
val = json.dumps(v,ensure_ascii=False)
print(val)
结果:
{"k1": "alex", "k2": "\u4e2d\u6587"}
{"k1": "alex", "k2": "中文"}
2、json.loads() #将已编码的 JSON 字符串解码为 Python 对象
import json
data = {'a':'test','b':100}
#先将Python对象编码成json字符串
a = json.dumps(data)
#再将json字符串编码成Python对象
print(json.loads(a))
结果:
{'name': 'test', 'b': 100}
3、json.dump() #将Python内置类型序列化为json对象后写入文件
import json
data = {
'key1':'test',
'a':[1,2,3,4],
'b':(1,2,3)
}
with open('json_test.txt','w+') as f:
json.dump(data,f)
打开json_test.txt文件显示:
{"key1": "test", "a": [1, 2, 3, 4], "b": [1, 2, 3]}
4、json.load() #读取文件中json形式的字符串元素转化为Python类型
import json
data = {
'key1':'test',
'a':[1,2,3,4],
'b':(1,2,3)
}
with open('json_test.txt','w+') as f:
json.dump(data,f)
with open('json_test.txt','r+') as f:
print(json.load(f))
结果:
{'key1': 'test', 'a': [1, 2, 3, 4], 'b': [1, 2, 3]}
附 dumps方法参数介绍:
def dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True,
allow_nan=True, cls=None, indent=None, separators=None,
default=None, sort_keys=False, **kw):
猜你喜欢
- 2024-12-04 Axure设计之引入ECharts图表
- 2024-12-04 七爪源码:如何在 Android Webview 中使用 Javascript 注入
- 2024-12-04 如何在浏览器控制台中执行 JavaScript 模块
- 2024-12-04 在Vue3中实现BPMN图的动态着色
- 2024-12-04 Javascript入门级教程
- 2024-12-04 跨端轻量JavaScript引擎的实现与探索
- 2024-12-04 JavaScript中必须掌握的基本知识
- 2024-12-04 用lazyload.js释放你网站的宽带
- 2024-12-04 Nginx 支持 JavaScript 了
- 2024-12-04 初识three.js,搭建three.js+vue.js项目
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)