python读写json文件的简单实现


Posted in Python onApril 11, 2017

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

JSON在python中分别由list和dict组成。

这是用于序列化的两个模块:

  1. json: 用于字符串和python数据类型间进行转换
  2. pickle: 用于python特有的类型和python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

json dumps把数据类型转换成字符串 dump把数据类型转换成字符串并存储在文件中  loads把字符串转换成数据类型  load把文件打开从字符串转换成数据类型

json是可以在不同语言之间交换数据的,而pickle只在python之间使用。json只能序列化最基本的数据类型,josn只能把常用的数据类型序列化(列表、字典、列表、字符串、数字、),比如日期格式、类对象!josn就不行了。而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。

事例:

dumps:将python中的 字典 转换为 字符串

import json

test_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}
print(test_dict)
print(type(test_dict))
#dumps 将数据转换成字符串
json_str = json.dumps(test_dict)
print(json_str)
print(type(json_str))

python读写json文件的简单实现

loads: 将 字符串 转换为 字典

new_dict = json.loads(json_str)
 print(new_dict)
 print(type(new_dict))

python读写json文件的简单实现

dump: 将数据写入json文件中

with open("../config/record.json","w") as f:
   json.dump(new_dict,f)
   print("加载入文件完成...")

python读写json文件的简单实现

 load:把文件打开,并把字符串变换为数据类型

with open("../config/record.json",'r') as load_f:
  load_dict = json.load(load_f)
  print(load_dict)
load_dict['smallberg'] = [8200,{1:[['Python',81],['shirt',300]]}]
print(load_dict)

with open("../config/record.json","w") as dump_f:
  json.dump(load_dict,dump_f)

python读写json文件的简单实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python进行一些简单的自然语言处理的教程
Mar 31 Python
python查询sqlite数据表的方法
May 08 Python
利用Python抓取行政区划码的方法
Nov 28 Python
关于Python中Inf与Nan的判断问题详解
Feb 08 Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
python实现下载pop3邮件保存到本地
Jun 19 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
解决Pytorch中关于model.eval的问题
May 22 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
Jun 29 Python
Python实现Mysql数据库连接池实例详解
Apr 11 #Python
详解Python中类的定义与使用
Apr 11 #Python
python获取指定时间差的时间实例详解
Apr 11 #Python
一个基于flask的web应用诞生 组织结构调整(7)
Apr 11 #Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 #Python
一个基于flask的web应用诞生 用户注册功能开发(5)
Apr 11 #Python
一个基于flask的web应用诞生 flask和mysql相连(4)
Apr 11 #Python
You might like
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
php检测文件编码的方法示例
2014/04/25 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
解决Python传递中文参数的问题
2015/08/04 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
毕业生优秀推荐信
2013/11/26 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
护士工作失误检讨书
2014/09/14 职场文书
学习三严三实心得体会
2014/10/13 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
golang 实现时间戳和时间的转化
2021/05/07 Golang