python入门24 json模块
现在很多接口传参和响应都是json串。
json.dumps() python对象转化为json字符串
json.loads() json字符串转化为python对象。[]转变成list,{}转变成dict。
1 python对象转成json
'''2018-11-25 dinghanhua'''
import json #python对象转化成json
dictdata = {'title':'python','page':100,'name': 'python development' }
print(dictdata)
print(type(dictdata)) jsonstr = json.dumps(dictdata) #转化为json
print(jsonstr)
print(type(jsonstr))

- 转换对应关系 false-False,true-True, object-dict, array - list, null-None
jsonstr = '{"array": [1,2,3], "bool": false, "null": null}'
data = json.loads(jsonstr)
print(data)
data = {'tuple': (1,2,3),'list': [1,2,3], 'bool': True, 'None': None}
jsonstr = json.dumps(data)
print(jsonstr)

- 排序、缩进格式化显示
jsonstr = json.dumps(dictdata,sort_keys=True) #排序
print(jsonstr) jsonstr = json.dumps(dictdata,indent=4) #缩进显示
print(jsonstr)

- 是否转成ascii
dictdata2 = [{"count":168,"name":"前端开发","title":"前端开发"},{"count":94,"name":"编程","title":"编程"}]
print(dictdata2)
print(type(dictdata2))
jsonstr2 = json.dumps(dictdata2) #默认转成ascii
print(jsonstr2)
print(type(jsonstr2))
jsonstr2 = json.dumps(dictdata2,ensure_ascii=False)
print(jsonstr2)
print(type(jsonstr2))

2 json转成python对象
#json对象转化为python对象
jsonstr = '[{"count": 168, "name": "前端开发", "title": "前端开发"}, {"count": 94, "name": "编程", "title": "编程"}]'
data = json.loads(jsonstr)
print(data)
print(type(data))

3 转成json写入文件; 从文件读json转成python对象
#转化成json写入文件
data = [{'count': 168, 'name': '前端开发', 'title': '前端开发'}, {'count': 94, 'name': '编程', 'title': '编程'}] with open('1.json','w') as f:
json.dump(data,f,indent=4,ensure_ascii=False) #从文件读取json转成python对象
with open('1.json','r') as f:
data = json.load(f)
print(data)
print(type(data))


官网:https://docs.python.org/3/library/json.html
python入门24 json模块的更多相关文章
- Python入门之第三方模块安装
Python入门之第三方模块安装 平台:Win10 x64 + Anaconda3-5.3.0 (+Python3.7.0) Issue说明:pip install line_profiler-2.1 ...
- Python入门之logging模块
本章目录: 一.logging模块简介 二.logging模块的使用 三.通过JSON或者YMAL文件配置logging模块 ===================================== ...
- Python中的json模块
在Python内置函数中,有一个eval()函数可以将字符串内容转换成Python对象,比如我现在将一个字典 dic = {"name":"pengfy"}写到 ...
- python中序列化json模块和pickle模块
内置模块和第三方模块 json模块和pickle 模块(序列化模块) 什么是序列化? 序列化就是将内粗这种的数据类型转成另一种格式 序列化:字典类型——>序列化——>其他格式——>存 ...
- python详解json模块
我们在做工作中经常会使用到json模块,今天就简单介绍下json模块 什么是json JSON ,全称为JavaScript Object Notation, 也就是JavaScript 对象标记,它 ...
- Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块
Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...
- python中的 json 模块使用
(1)python 中生成 json 字符串: import json data = dict(ret=0, msg="Welcome, Login success!") json ...
- Python 入门基础13 --模块与包
本节内容: 一.模块及使用 1.模块及使用 2.起别名.from导入 3.自执行与模块 二.包的使用 2.1 包中模块的使用:import 2.2 包的嵌套 2.3 包中模块的使用:from ...i ...
- Python中的Json模块dumps、loads、dump、load函数介绍
Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json ...
随机推荐
- Nginx + Lua搭建文件上传下载服务
收录待用,修改转载已取得腾讯云授权 最新腾讯云技术公开课直播,提问腾讯W3C代表,如何从小白成为技术专家?点击了解活动详情 作者 | 庄进发 编辑 | 迷鹿 庄进发,信息安全部后台开发工程师,主要负责 ...
- js动态实现时分秒
<div id="time" style="color: #96C2DD;</div> <script type="text/ ...
- 第十八章:自定义splash screen、app icon和tab icon
本文介绍如何自定义splash screen.app icon和tab icon. 1. 自定义splash screen和app icon 1.1 产生resources文件夹,启动命令行: ion ...
- git命令(转载学习)
Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...
- pat03-树3. Tree Traversals Again (25)
03-树3. Tree Traversals Again (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue ...
- 数据挖掘:提取百度知道QA中的影视信息
1. 背景 网站上爬取了部分关于影视的百度知道QA,为了后续提高影视的搜索效果,需要基于百度知道QA的答案抽取相关的影视信息. 2. 流程 目前已有基础的媒资视频库信息,基于媒资视频库中的视频名称,构 ...
- ACdream 1099——瑶瑶的第K大——————【快排舍半,输入外挂】
瑶瑶的第K大 Time Limit:2000MS Memory Limit:128000KB 64bit IO Format:%lld & %llu Submit Status ...
- 项目搭建系列之四:SpringMVC框架下使用UrlRewrite实现地址重写
简单记录一下UrlRewrite实现地址重写功能. 1.pom.xml 在pom.xml增加配置UrlRewrite jar <!-- URL Rewrite --> <depend ...
- mc:Ignorable="d"什么意思?
有两个命名空间我们要注意一下的:xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc=" ...
- Git读档
$ git config --global user.name "meng kai" $ git config --global user.email 363255751@qq.c ...