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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
Dec 14 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
python如何实现int函数的方法示例
Feb 19 Python
Python3中函数参数传递方式实例详解
May 05 Python
python实现五子棋人机对战游戏
Mar 25 Python
对Python 中矩阵或者数组相减的法则详解
Aug 26 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
pyecharts在数据可视化中的应用详解
Jun 08 Python
python代码能做成软件吗
Jul 24 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
非常好用的Zend Framework分页类
2014/06/25 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
Python操作json的方法实例分析
2018/12/06 Python
Python连接字符串过程详解
2020/01/06 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
keras 权重保存和权重载入方式
2020/05/21 Python
Python self用法详解
2020/11/28 Python
python 如何上传包到pypi
2020/12/24 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
运动会800米加油稿
2014/02/22 职场文书
总经理年会致辞
2015/07/29 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server
深入理解pytorch库的dockerfile
2022/06/10 Python