json 模块的基本使用学习
内容大纲
1: 为什么要学习json模块
>1:因为网络之间的通信,还有不同语言之间的相互内容沟通,需要用到json 模式进行沟通
>2:写入部分文件用json文件保存,
2:json的序列化
json.dumps(iterable)
dic ={'k1':'v1','k2':'v2','k3':'v3'}
str_dic =json.dumps(dic)
print(str_dic)
>>>>>>
{"k1": "v1", "k2": "v2", "k3": "v3"}
3:将json 转化成字典
json.loads(json模式的内容)
dic ={'k1':'v1','k2':'v2','k3':'v3'}
str_dic =json.dumps(dic)
# print(str_dic)
#将json 转成字典模式
dic1 =json.loads(str_dic)
print(dic1)
>>>>>
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
4:自动把所有的' ' 变成 " "
json.dumps() 因为json 的模式就是 " "
list_dic =[1,['a','b','c','d'],3,{'k1':'v1','k2':'v2','k3':'v3'}]
str =json.dumps(list_dic)
print(str)
>>>>>
[1, ["a", "b", "c", "d"], 3, {"k1": "v1", "k2": "v2", "k3": "v3"}]
5:json 写入文件
dump(iteaber,句柄)
dic ={'k1':'v1','k2':'v2','k3':'v3'}
# json 写入文件
with open('123.json','w',encoding='utf-8') as f:
json.dump(dic,f)
6:读取json文件
json.load(句柄)
with open('123.json','r',encoding='utf-8') as f1:
ret =json.load(f1)
print(ret)
7:将多个json 写入json文件
将多个json 文件写入文件
dic1 = {'name': '春哥'}
dic2 = {'name': '子伍'}
dic3 = {'name': '王子'}
with open('duo.json','w',encoding='utf-8') as f2:
json.dump(dic1,f2)
f2.write('\n')
json.dump(dic2,f2)
f2.write('\n') #注意换行, 因为读的时候是for 循环句柄
json.dump(dic3,f2)
f2.write(json.dumps(dic1)+'\n')
f2.write(json.dumps(dic2)+'\n')
f2.write(json.dumps(dic3)+'\n')
with open('duo.json','r',encoding='utf-8') as f3:
for line in f3:
ret =json.loads(line)
print(ret)
ret =json.loads(f3.read())
print(ret)
8:
json 模块的基本使用学习的更多相关文章
- python学习第四十八天json模块与pickle模块差异
在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点 跨语言,体积小 缺点 只能支持 int st ...
- 【python标准库模块四】Json模块和Pickle模块学习
Json模块 原来有个eval函数能能够从字符串中提取出对应的数据类型,比如"{"name":"zhangsan"}",可以提取出一个字典. ...
- python学习笔记(四)random 、json模块
一.模块简介 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 导入模块 import module #导入模块 f ...
- Python学习笔记:json模块和pickle模块(数据序列化)
Python中的json模块和pickle都是用于数据的序列化和反序列化,它们提供的方法也是一样的:dumps,dump,loads,load dumps(obj):将对象序列化为str. dump( ...
- python学习-49 json模块
json模块 --------将任何类型都转换为json字符串 方法dumps import json dic={"name":"abc"} data = js ...
- Json模块的详细介绍(序列化)
什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给? 现在我们能想到的方法就是存在文件里,然 ...
- python基础(20):序列化、json模块、pickle模块
1. 序列化 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 1.1 为什么要有序列化 为什么要把其他数据类型转换成字符串?因为能够在网络上传输的只能是bytes,而能够 ...
- 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操
目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...
- python的json模块
Python JSON 本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象. 环境配置 在使用 Python 编码或解码 JSON 数据前,我们需要先安装 JSON 模块. ...
随机推荐
- xshell评估过期解决办法
1.登录网景官网的下载页面: https://www.netsarang.com/download/down_form.html?code=522 2.直接在页面中有红色*号的地方输入个人信息,lic ...
- JS 将json数组转为嵌套层级数组
ele UI 的树级菜单的数据要求是这种嵌套的,但是Ztree的老用发的是 var zNodes =[ { id:, pId:, name:"zTree Home", pid:0} ...
- jQuery的基本事件
1.用法 <!--jquery通过bind()这个方法来为元素绑定事件,可以传三个参数,type.data.fn--> <!--type表示一个或者多个事件的名称--> < ...
- Binary Watch二进制时间
[抄题]: A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the b ...
- SNAT和DNAT的区别
SNAT: Source Network Address Translation,是修改网络包源ip地址的.DNAT: Destination Network Address Translation, ...
- linux 关闭电子邮件传输服务
1.检查sendmail的哪些runlevel开启: chkconfig --list sendmail
- linux下PHP7安装memcache
1.memcache服务器的安装 .分别把memcached和libevent下载回来,放到 /tmp 目录下: # cd /tmp # wget http://www.danga.com/memca ...
- ecshop适配php
https://www.cnblogs.com/xiwang6428/p/5460155.html
- SNMP++ 编译记录
/************************************************************** 技术博客 http://www.cnblogs.com/itdef/ ...
- Markdown 手册
前言(可以不看) 最开始只是想写一篇博文,准备使用markdown,感觉很流行(github.简书……很多都支持),而且渲染出来很好看,一直很想学,没有合适的机会,结果拖到了现在.比起什么python ...