现在很多接口传参和响应都是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. 利用Flume将本地文件数据中收集到HDFS

    1. 创建文件 放入一个txt文件 然后查看hdfs上的文件夹 不知道为什么并没有出现本地的文件 也不报错 后来发现,没有在logs文件夹下面,在newlogs文件夹下面

  2. 用poi替换ppt中的文字和图片

    try {            // 获取PPT文件             String pptModelPath =ConfigReadUtil.getInstance().getConfigI ...

  3. DP Intro - Tree POJ2342 Anniversary party

    POJ 2342 Anniversary party (树形dp 入门题) Anniversary party Time Limit: 1000MS   Memory Limit: 65536K To ...

  4. storm中KafkaSpout的选择

    Storm最常用的消息源就是Kafka,在对接的时候大多需要使用KafkaSpout: 在网上大概有两种KafkaSpout,一种是只有几十行,一种却有一大啪啦类文件. 在kafka中,同一个part ...

  5. c#高级写法

    Linq的参考资料:https://www.cnblogs.com/liqingwen/p/5801249.html 1.判断str字符串中的逗号个数 string str = "1,2,3 ...

  6. 简单的 shell 脚本 切分日志

    为避免日志过大,需要按天分割日志,定时计划任务脚本如下: /data/shell/backup_yesterday_nginx_log.sh declare logs_path="/data ...

  7. JavaScript函数和数组总结

    JavaScript函数 1.      函数的定义 函数名称只能包含字母.数字.下划线或$,且不能以数字开头.定义时可用函数定义表达式或者函数声明语句. var f = function fact( ...

  8. Nginx+Keepalived配置

    1. Nginx安装 (1) 环境:分别在2台服务器上部署nginx且步骤一致: 如192.138.86.1和192.138.86.2 (2) 下载官网最新稳定版,地址:https://nginx.o ...

  9. 【学习笔记】使用SQLyog连接MySQL数据库

    一.使用SQLyog创建数据库用来管理学生信息 #创建数据库student DROP DATABASE IF EXISTS Myschool; CREATE DATABASE Myschool; #在 ...

  10. javaSE练习13——(知识点:类的继承 方法的覆盖)

    设计2个类,要求如下: (知识点:类的继承 方法的覆盖)1.定义一个汽车类Vehicle, 1.1 属性包括:汽车品牌brand(String类型).颜色color(String类型 )和速度spee ...