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 ...
随机推荐
- 小a与“204”------数列、排序
链接:https://ac.nowcoder.com/acm/contest/317/B来源:牛客网 小a非常喜欢204204这个数字,因为′a′+′k′=204′a′+′k′=204. 现在他有一个 ...
- HDU 2879 数论
HeHe Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submis ...
- poj3262
一.题意:有n头牛,每头牛每分钟会吃D个菜,把这头牛赶回去需要时间T(人再返回又需要T),一次只能赶回去一头牛,也就是说剩下的牛会继续吃菜.求牛最少吃多少菜 二.思路:贪心.按D/T将牛进行排序,然后 ...
- Python+Selenium定位元素的方法
Python+Selenium有以下八种定位元素的方法: 1. find_element_by_id() eg: find_element_by_id("kw") 2. find_ ...
- 轻量级ORM框架:Dapper中的一些复杂操作和inner join应该注意的坑
上一篇博文中我们快速的介绍了dapper的一些基本CURD操作,也是我们manipulate db不可或缺的最小单元,这一篇我们介绍下相对复杂 一点的操作,源码分析暂时就不在这里介绍了. 一:tabl ...
- (转)linux shell单引号、双引号及无引号区别
原文:http://blog.csdn.net/woshizhangliang999/article/details/50132265 3.描述linux shell中单引号.双引号及不加引号的简单区 ...
- oracle客户端中文乱码问题的解决
1 查看服务器端编码 select userenv('language') from dual; 我实际查看到的结果为: USERENV('LANGUAGE') ------------------- ...
- nyoj 409——郁闷的C小加(三)——————【中缀式化前缀后缀并求值】
郁闷的C小加(三) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 聪明的你帮助C小加解决了中缀表达式到后缀表达式的转换(详情请参考“郁闷的C小加(一)”),C小加很 ...
- ZOJ 1610——Count the Colors——————【线段树区间替换、求不同颜色区间段数】
Count the Colors Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Subm ...
- 【Ubuntu】Vritual Box 复制方式克隆
重装系统后之前安装的虚拟机的镜像全都不见了 ,因为重装系统盘C盘会全部重新被格式化. VtritualBox如果没有指定虚拟机存放位置,默认是会放在C盘的,C:\Users\Administrator ...