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 相关文章推荐
wxPython中文教程入门实例
Jun 09 Python
在Python中使用SimpleParse模块进行解析的教程
Apr 11 Python
Python实现购物系统(示例讲解)
Sep 13 Python
Python OpenCV获取视频的方法
Feb 28 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
Python3 Tkinkter + SQLite实现登录和注册界面
Nov 19 Python
python实现矩阵和array数组之间的转换
Nov 29 Python
Pandas-Cookbook 时间戳处理方式
Dec 07 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
python基础学习之递归函数知识总结
May 26 Python
Python多个MP4合成视频的实现方法
Jul 16 Python
python模块与C和C++动态库相互调用实现过程示例
Nov 02 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
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
javascript之bind使用介绍
2011/10/09 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
vue组件name的作用小结
2018/05/23 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
python实现图书借阅系统
2019/02/20 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
django-初始配置(纯手写)详解
2019/07/30 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
面试后感谢信怎么写
2014/02/01 职场文书
寒假生活随笔
2015/08/15 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
java调用Restful接口的三种方法
2021/08/23 Java/Android
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js