现在很多接口传参和响应都是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模块的更多相关文章

  1. Python入门之第三方模块安装

    Python入门之第三方模块安装 平台:Win10 x64 + Anaconda3-5.3.0 (+Python3.7.0) Issue说明:pip install line_profiler-2.1 ...

  2. Python入门之logging模块

    本章目录: 一.logging模块简介 二.logging模块的使用 三.通过JSON或者YMAL文件配置logging模块 ===================================== ...

  3. Python中的json模块

    在Python内置函数中,有一个eval()函数可以将字符串内容转换成Python对象,比如我现在将一个字典 dic = {"name":"pengfy"}写到 ...

  4. python中序列化json模块和pickle模块

    内置模块和第三方模块 json模块和pickle 模块(序列化模块) 什么是序列化? 序列化就是将内粗这种的数据类型转成另一种格式 序列化:字典类型——>序列化——>其他格式——>存 ...

  5. python详解json模块

    我们在做工作中经常会使用到json模块,今天就简单介绍下json模块 什么是json JSON ,全称为JavaScript Object Notation, 也就是JavaScript 对象标记,它 ...

  6. Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块

    Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: ​ 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...

  7. python中的 json 模块使用

    (1)python 中生成 json 字符串: import json data = dict(ret=0, msg="Welcome, Login success!") json ...

  8. Python 入门基础13 --模块与包

    本节内容: 一.模块及使用 1.模块及使用 2.起别名.from导入 3.自执行与模块 二.包的使用 2.1 包中模块的使用:import 2.2 包的嵌套 2.3 包中模块的使用:from ...i ...

  9. Python中的Json模块dumps、loads、dump、load函数介绍

    Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps() 用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json ...

随机推荐

  1. [转] Spring Boot中Web应用的统一异常处理

    [From] http://blog.didispace.com/springbootexception/ 我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况.Spring Boot提供 ...

  2. Q541 反转字符串 II

    给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转.如果剩余少于 k 个字符,则将剩余的所有全部反转.如果有小于 2k 但大于或等于 k 个字符,则反转前 ...

  3. 认识CSS中css的三大特性:层叠性、继承性以及优先级

    前端之HTML.CSS(四) CSS CSS三大特性 层叠性:多种样式的叠加,一个属性通过两个选择器设置在同一个元素上,后一个样式会把前一个样式层叠(覆盖).层叠性的两种情况:第一种样式冲突时,后样式 ...

  4. JavaScript学习笔记1_基础与常识

    1.六种数据类型 5种基础的:Undefined,Null,Boolean,Number,String(其中Undefined派生自Null) 1种复杂的:Object(本质是一组无序键值对) 2.字 ...

  5. oracle 单实例DG(闪回技术四)

    一,flashback Oracle Flashback技术是一组数据库特性,它可以让你查看数据库对象的过去状态,或者将数据库对象返回到以前的状态,而无需使用基于时间点的介质恢复.根据数据库的变化,闪 ...

  6. unity发布安卓lua路径不存在问题

    项目用的是xlua 采用自定义加载方式 使用File去读取路径下的文件,lua文件本来放在了StreamingAssets路径下 PC运行无问题,发布安卓后,居然提示路径不存在. 查了下资料后发现,F ...

  7. ubuntu中mysql5.7表名区分大小写解决方案

    在/etc/mysql/mysql.conf.d/mysqld.cnf 添加lower_case_table_names=1

  8. SpringBoot | 第二十七章:监控管理之Actuator使用

    前言 随着我们服务越来越多,部署的环境也越来越繁多时,由于各服务都部署在不同的机器上,每当出现问题或者异常时,想快速进行问题的定位就变的麻烦了.所以,本章节开始,开始讲解SpringBoot的监控相关 ...

  9. java 读写操作大文件 BufferedReader和RandomAccessFile

    一 老问这问题,两个都答出来算加分项? 二 具体代码如下,没什么好说的直接说对比. BufferedReader和RandomAccessFile的区别RandomAccessFile 在数据越大,性 ...

  10. 通过js操作样式(评分)

    <style> td{ font-size:50px; color:yellow; cursor:pointer; } </style> <script type=&qu ...