python入门24 json模块
2024-08-28 18:23:46
现在很多接口传参和响应都是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
最新文章
- 深入学习jQuery的三种常见动画效果
- AIX下tar解包问题
- win7+theano with GPU enabled
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
- redis的5种数据结构的简介
- iOS基础 - 控制器管理
- petstore-jdbc
- Java常用类之【日期相关类】
- JAVA 解析、编辑nginx.conf
- 【转】rinex
- 《Mem2Seq: Effectively Incorporating Knowledge Bases into End-to-EndTask-Oriented Dialog Systems》
- JavaScript有这几种测试分类
- Pycharm学习python路
- springcloud中Feign配置详解
- cmd命令使用笔记
- POJ 2363
- c#如何判断两个对象是否相等
- 【Asp.net入门05】第一个ASP.NET 应用程序-测试Asp.net程序
- JFrame自适应大小
- origin横纵坐标颠倒