Python学习之==>json处理
json是一种所有语言都通用的Key-Value数据结构的数据类型,很像Python中的字典,在Python中可以通过json模块对json串和字典进行转换。
1、把字典转换成json串
import json
dic = {'zll':{
'addr':'北京','age':28},
'ljj':{
'addr':'北京','age':38}
}
res = json.dumps(dic,ensure_ascii=False,indent=5) # 把字典转成json串
# ensure_ascii=False 中文显示为中文,不加的话中文显示为encode编码
# indent=5 缩进5格
print(res)
2、把字典转换成json并写入文件(json.dumps)
import json
dic = {
'zll':{
'addr':'北京',
'age':28
},
'ljj':{
'addr':'北京',
'age':38
}
}
fw = open('user_info.json','w',encoding='utf-8') # 打开一个文件
dic_json = json.dumps(dic,ensure_ascii=False,indent=5) # 字典转成json
fw.write(dic_json) # 写入文件
3、json.dump自动写入文件
import json
dic = {
'zll':{
'addr':'北京',
'age':28
},
'ljj':{
'addr':'北京',
'age':38
}
}
fw = open('user_info.json','w',encoding='utf-8') # 打开一个文件
dic_json = json.dump(dic,fw,ensure_ascii=False,indent=4) # 字典转成json,直接操作文件,不用写入操作
4、使用json.loads将文件中的json串转换成字典
import json
f = open('user_info.json',encoding='utf-8')
res = f.read() # 使用json.loads需要先读文件
product_dic = json.loads(res) # 把json串转换成字典
print(product_dic)
5、使用json.load不用先读文件,直接使用就可以
import json
f = open('user_info.json',encoding='utf-8')
product_dic = json.load(f) # 传一个文件对象,它会帮你读文件
print(product_dic)
6、读取/写入文件内容函数
import json
def op_data(filename,dic=None):
if dic: # dic不为空时,写入文件
with open(filename,'w',encoding='utf-8') as fw:
json.dump(dic,fw,ensure_ascii=False,indent=4)
else: # dic为空时,读取文件内容
with open(filename, 'r', encoding='utf-8') as fr:
return json.load(fr)
Python学习之==>json处理的更多相关文章
- python 学习(json)(转)
Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于h ...
- Python学习之json序列化
一.什么是序列化 在我们存储数据或者网络传输数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式.这个过程叫序列化,不同的序列化结果也不同,但目的是一样的,都是为了存储和传输 在 ...
- Python学习 :json、pickle&shelve 模块
数据交换格式 json 模块 json (JavaScript Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读.尽管 json 是JavaScript的一个子 ...
- python学习-49 json模块
json模块 --------将任何类型都转换为json字符串 方法dumps import json dic={"name":"abc"} data = js ...
- python学习第四十八天json模块与pickle模块差异
在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点 跨语言,体积小 缺点 只能支持 int st ...
- python模块学习之json
更多信息请参考官网地址: https://docs.python.org/3.6/library/json.html 19.2. json - JSON编码器和解码器 Source code: Lib ...
- Python学习笔记:json模块和pickle模块(数据序列化)
Python中的json模块和pickle都是用于数据的序列化和反序列化,它们提供的方法也是一样的:dumps,dump,loads,load dumps(obj):将对象序列化为str. dump( ...
- Python 学习 第16篇:数据类型(字典和Json)
字典是键/值对构成的集合,字典通过大括号来创建,字典的键是字符串,而值可以是任何数据对象. 字典有两个重要的特征: 字典是无序的,字典项没有特定的顺序,只能通过键来获取值: 字典是可变的,支持原处修改 ...
- 吴裕雄--天生自然python学习笔记:Python3 JSON 数据解析
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进 ...
随机推荐
- linux命令详解——tar
tar [-cxtzjvfpPN] 文件与目录 .... [参数]: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令! -t :查看 tarfile ...
- MATLAB中的函数句柄及其应用
1.函数句柄的创建 函数句柄(function handle)是MATLAB中的一类特殊的数据结构,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++), ...
- Centos7安装RocketMQ4.4
网上的教程坑贼鸡儿多 一.安装maven RocketMQ依赖maven打包,所以先要在虚拟机中安装maven,我使用的是v3.3.9. 1:进入指定目录下载maven 包 cd /usr/local ...
- Linux下Eclipse里用gdb调试JNI里C/C++
1,给Eclipse安装CDT插件 2,先以Debug方式运行java程序,停在java代码的断点上 3,Debug Configuration里选择C/C++ Attach to Applicati ...
- Hive的安装搭建(三)
03 Hive的安装搭建 Hive可以从源码中编译安装,也可以直接使用官网下载的安装包,在此处我们选择安装包解压安装的方式. Hive中最最重要的角色就是metastore 因此按照metastore ...
- SQL查询操作
有7个筛选条件任意一个条件都可以筛选.采用LINQ查询比较繁琐,且操作步骤增加,选择用SQL判断. public DataTable GetData(string cboCld, string cbo ...
- Python之网路编程之粘包现象
一.什么是粘包 须知:只有TCP有粘包现象,UDP永远不会粘包 粘包不一定会发生 如果发生了:1.可能是在客户端已经粘了 2.客户端没有粘,可能是在服务端粘了 首先需要掌握一个socket收发消息的原 ...
- scrapy五大核心组件和中间件以及UA池和代理池
五大核心组件的工作流程 引擎(Scrapy) 用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler) 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. ...
- HDU-6668-Polynomial(数学)
链接: https://vjudge.net/problem/HDU-6668 题意: 度度熊最近学习了多项式和极限的概念. 现在他有两个多项式 f(x) 和 g(x),他想知道当 x 趋近无限大的时 ...
- 在UIScrollView、UICollectionView和UITableView中添加UIRefreshControl实现下拉刷新
Apple在iOS 6中添加了UIRefreshControl,但只能在UITableViewController中使用,不能在UIScrollView和UICollectionView中使用. 从i ...