python-利用json模块处理json数据几个函数总结
1.前言
json是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。
前端和后端进行数据交互,其实就是JS和Python进行数据交互.
接口间或者前后端间的语言不一致,不同的语言数据类型是不一样的,所以就导致你提交的数据,别的开发语言无法识别,这就需要规范传输的数据(传输的数据都是一个字符串),大家都遵循一个规范,按一个标准的格式去传输,于是就有就json这种国际化规范的数据类型。
json本质上还是字符串,只是按key:value这种键值对的格式来的字符串
2.python数据类型与json数据类型的映射关系
| Python | Json |
|---|---|
| dict | object |
| list, tuple | array |
| str, unicode | string |
| int, long, float | number |
| True | true |
| False | false |
| None | null |
3.处理json数据的几个常用方法
| 方法 | 详情 |
|---|---|
| json.loads() | string转换成dict |
| json.dumps() | dict转换成string |
| json.load() | 是将里json格式字符串转化为dict,读取文件 |
| json.dump() | 是将dict类型转换为json格式字符串,存入文件 |
4.应用举例
4.1 json.dumps(), 将 python 对象转换成 json字符串对象
import json
dic1 = {
"code": "00",
"descEn": "approved or completed successfully",
"descZh": "承兑或交易成功",
"outOrderNumber": "300026",
"time": "2021-01-08 15:30:13",
"type": "SYNC_COMMON_RESPONSE"
}
json_object1 = json.dumps(dic1)
print(json_object1)
print(type(json_object1)) # 类型是str
4.2 json.loads() 将json字段串对象转换成python dict对象
print(json.loads(json_object1))
print(type(json.loads(json_object1))) #类型是dict
4.3 json.dump() 将json字符串对象写进json文件
str1 = '{sex:"女","name":"sophia"}'
with open('1.json','w+',encoding='utf-8') as f:
json.dump(str1,f)

4.4 json.load() 将json文件对象读取解析成python dict对象

with open('file.json','r+',encoding='utf-8') as f:
json_object = json.load(f)
print(type(json_object)) # 类型是dict
后续封装一个方法进行str到dict之间相互转换,以及读写json文件内容,并且读取某个指定字段的值
python-利用json模块处理json数据几个函数总结的更多相关文章
- [py]requests+json模块处理api数据,flask前台展示
需要处理接口json数据,过滤字段,处理字段等. 一大波json数据来了 参考: https://stedolan.github.io/jq/tutorial/ https://api.github. ...
- 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操
目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...
- Python学习---重点模块之json
注意:JSON不能转换类,不能转换函数 重点方法示例 json.dumps():实现文件写入,字符串转换[写入文件当然是JSON字符串楼] 实际上,json.dumps()只是帮我们做了一个字符串的转 ...
- Python 利用pytesser模块识别图像文字
使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the ...
- json模块:json.dumps()、json.loads()、json.dump()、json.load()
json.dumps().json.loads().json.dump().json.load() 4个方法的总结和使用: 注意:存在文件里面的东西,读出来都是字符串 import json 1.js ...
- [Python]-json模块-处理字典数据的存取
import json 函数 json.dumps() json.dumps()函数是将字典转化为字符串 json.loads() json.loads()函数是将字符串转化为字典 注意: 从json ...
- python 利用csv模块导入数据
- python之psutil模块(获取系统性能数据)
psutil模块 1.介绍 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...
- Python利用os模块批量修改文件名
初学Python.随笔记录自己的小练习. 通过查阅资料os模块中rename和renames都可以做到 他们的区别为.rename:只能修改文件名 renames:可以修改文件名,还可以修改文件上 ...
随机推荐
- 【VictoriaMetrics】vm-select源码阅读
调用层次表格 源文件 行号 函数 说明 app/vmselect/main.go 63 main 入口 92行调用 requestHandler app/vmselect/main.go 132 -r ...
- Docker环境安装,基本命令集合
一.docker安装 1).卸载旧的安装包 centos7默认安装的docker版本是1.13.1,卸载它,安装新的版本. root用户下,一次把这坨命令复制进去 yum remove docker ...
- VUE3 之 组件传参
1. 概述 韦奇定律告诉我们:大部分人都很容易被别人的话所左右,从而开始动摇.怀疑,最终迷失自我.因此我们要努力的坚定信念,相信自己,才不会被周围的环境所左右,才能取得最终的胜利. 言归正传,之前我们 ...
- 513. Find Bottom Left Tree Value
Given a binary tree, find the leftmost value in the last row of the tree. Example 1: Input: 2 / \ 1 ...
- CSS设置标签、图片放大、缩小、旋转、移动(tranform)
CSS设置标签.图片放大.缩小.旋转.移动(tranform) 1.缩小和放大属性(scale) 格式:tranform:缩小类型(数值): 注意:缩小和放大都是 scale : 其中的值(0~1)代 ...
- golang中的goroutine
1. 概念 go中可以并发执行的活动单元称为goroutine当一个go程序启动时,一个执行main function的goroutine会被创建,称为main goroutinego func() ...
- CentOS7搭建Docker私有仓库----Docker
有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.目前Docker Registry已经升级到了v2 ...
- linux中awk命令(最全面秒懂)
目录 一:linux中awk命令 1.awk命令简介 2.awk作用 3.awk的语法格式 4.解析awk使用方法 5.参数 6.awk的生命周期 二:awk中的预定义变量 三:awk运行处理规则的执 ...
- lsof恢复误删文件
用 lsof 恢复 误删除文件实验: 先模拟一个进程: [tiger@root:/home/tiger]$ echo "hello deletede" >> test. ...
- Shell 脚本进阶,经典用法及其案例
一.条件选择.判断 1.条件选择if (1)用法格式 if 判断条件 1 ; then 条件为真的分支代码 elif 判断条件 2 ; then 条件为真的分支代码 elif 判断条件 3 ; the ...