现在很多接口传参和响应都是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

最新文章

  1. 深入学习jQuery的三种常见动画效果
  2. AIX下tar解包问题
  3. win7+theano with GPU enabled
  4. fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
  5. redis的5种数据结构的简介
  6. iOS基础 - 控制器管理
  7. petstore-jdbc
  8. Java常用类之【日期相关类】
  9. JAVA 解析、编辑nginx.conf
  10. 【转】rinex
  11. 《Mem2Seq: Effectively Incorporating Knowledge Bases into End-to-EndTask-Oriented Dialog Systems》
  12. JavaScript有这几种测试分类
  13. Pycharm学习python路
  14. springcloud中Feign配置详解
  15. cmd命令使用笔记
  16. POJ 2363
  17. c#如何判断两个对象是否相等
  18. 【Asp.net入门05】第一个ASP.NET 应用程序-测试Asp.net程序
  19. JFrame自适应大小
  20. origin横纵坐标颠倒

热门文章

  1. DenyHosts 阻止SSH暴力攻击
  2. linux 工具(1)------终端提示符配置
  3. 磁盘挂载 fdisk
  4. spark SQL编程
  5. selenium 安装与环境配置
  6. 安装Drupal
  7. pat1003. Emergency (25)
  8. git把dev部分提交过的内容合并到master
  9. python作业-网络编程
  10. String StringBuffer StringBuilder对比