python如何读写json数据


Posted in Python onMarch 21, 2018

本文实例为大家分享了python读写json数据的具体代码,供大家参考,具体内容如下

案例:

在web应用中常常用到json数据进行传输数据,本质上是字典类型数据转换成字符串,通过字符串进行网页传输,然后把接收到的字符串转换成字典类似数据

需求:实现字典转换成字符串,字符串转换成字典数据类型,写入文件

如何做?

1、明确dumps和dump的区别,dump的接口是文件,直接写入文件,dumps把对应的数据类型转换成字符串,loads 和dumps相反,load直接从文件中读取文件并把数据转换成对应的数据类型
2、先进行数据转换,字符串作为中间桥梁

#!/usr/bin/python3
 
import json
 
 
def w_json(data):
  # 往文件中写入json文件
  with open('json_test.json', 'w') as wf:
    json.dump(data, wf)
  print('ok')
  
     
def r_json():
  # 读取json文件
  with open('json_test.json', 'r') as rf:
    data = json.load(rf)
  return data
 
 
def chage_data(data):
  # 进行json数据转换
  try:
    # separators 会把对应符号前后的空格去掉,网络传输中,空格没有意义
    # 还可以通过sort_keys进行按字典可以排序,字典才有效,网络传输一般都用json数据格式
    return json.dumps(data, separators=[',', ':'], sort_keys=True)
  except Exception as e:
    print(e)
    return None
   
if __name__ == '__main__':
  d = {'xiao_ming': 18, 'xiao_er': 50, 'xiao_san': 17, 'xu_xue': None, 'b_l':True}
  # d = [8, 2, 2, 7, 0, None, True]
  data = chage_data(d)
   
  if data:
    w_json(data)
    r_data = r_json()
    print('读取的数据:', r_data)

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

Python 相关文章推荐
一个超级简单的python web程序
Sep 11 Python
python实现线程池的方法
Jun 30 Python
Python 中的 else详解
Apr 23 Python
理解Python中的绝对路径和相对路径
Aug 30 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
Python自定义线程类简单示例
Mar 23 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
python 多个参数不为空校验方法
Feb 14 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
django框架使用orm实现批量更新数据的方法
Jun 21 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
通过实例解析python subprocess模块原理及用法
Oct 10 Python
python如何读写csv数据
Mar 21 #Python
python如何让类支持比较运算
Mar 20 #Python
python如何为创建大量实例节省内存
Mar 20 #Python
python如何对实例属性进行类型检查
Mar 20 #Python
python如何在循环引用中管理内存
Mar 20 #Python
Windows 7下Python Web环境搭建图文教程
Mar 20 #Python
Python中%是什么意思?python中百分号如何使用?
Mar 20 #Python
You might like
我的论坛源代码(十)
2006/10/09 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python操作MySQL模拟银行转账
2018/03/12 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
Python高并发和多线程有什么关系
2020/11/14 Python
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
数控专业毕业生求职信范文
2013/09/21 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
数控专业自荐书范文
2014/03/16 职场文书
二年级评语大全
2014/04/23 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
捐书活动总结
2014/05/04 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
趣味运动会赞词
2015/07/22 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js