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 数据进 ...
随机推荐
- python-函数1(定义-作用-优势-返回值)
python-函数1(定义-作用-优势-返回值) 1.面向对象的定义是靠-类>>class2.面向过程的定义是靠-过程 >>def3.函数式编程的定义是靠-函数>> ...
- 【转】Android编译系统详解(一)——build/envsetup.sh
出处 http://www.cloudchou.com/android/post-134.html 本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接 准备好编译环境后,编译Rom的 ...
- super、this关键字
super调用(父类) 调用方法 语法: super.父类方法名(形参列表); 可以在子类方法和构造器中使用,调用父类被覆盖的方法. 实例变量 语法: super.父类实例变量名; ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(11)|Structs结构体]
[易学易懂系列|rustlang语言|零基础|快速入门|(11)] 有意思的基础知识 Structs 我们今天来看看数据结构:structs. 简单来说,structs,就是用来封装相关数据的一种数据 ...
- SpringMVC @PathVariable注解
下面用代码来演示@PathVariable传参方式 @RequestMapping("/user/{id}") public String test(@PathVariable(& ...
- Vue使用animate.js
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- pyqt5-复合控件中的子控件
天子骄龙
- 在Tomcat中部署Java Web应用程序几种方式
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署指的是我们在服务器启动之前部 ...
- AngularJS的目录结构
templates/ _login.html _feed.html app/ app.js controllers/ LoginController.js FeedController.js dire ...
- 策略模式------《Head First 设计模式》
第一章---策略模式 xzmxddx 学习方式:书籍<Head First 设计模式>,这本书通俗易懂,所有知识点全部取自本书. 面向对象设计原则 封装变化 多用组合,少用继承 针对接口编 ...