当前位置: 首页 > news >正文

读写json文件

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。

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

有两个重要的包

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

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

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

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

写入json文件

with open("../config/record.json","w") as f:
    json.dump(new_dict,f)

读取json文件

#
with open("../config/record.json",'r') as load_f:
    load_dict = json.load(load_f)

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

注意

 #设置以utf-8解码模式读取文件,encoding参数必须设置,否则默认以gbk模式读取文件,当文件中包含中文时,会报错
f = open("Settings.json", encoding='utf-8') 

#写入
with open('data.json', 'w') as json_file:
        json_file.write(json.dumps(data))

 

转载于:https://www.cnblogs.com/zz27zz/p/9442160.html

相关文章:

  • C#读写txt文件的两种方法介绍
  • MySQL 二进制日志 binlog
  • Oracle 11g服务器安装详细步骤(贴图)
  • Apache网页优化,网页压缩和网页缓存技术
  • 动态规划入门(以爬楼梯为例)
  • 231个web前端的javascript特效分享(仅供本人学习,非教程类型)
  • BZOJ 3110 [Zjoi2013]K大数查询 (CDQ分治+树状数组)
  • 工信部指出基于 IPv6 的下一代互联网的重要性
  • centos yum安装maven
  • 02 资源搜索-全面、快速查找全网你想要的任何信息、情报
  • 2018-08-12期 Hbase本地模式安装部署
  • 单点登录的实现方式
  • 【JZOF】二维数组中的查找
  • TypeScript基础入门 - 类 - 抽象类
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • [NodeJS] 关于Buffer
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • interface和setter,getter
  • Laravel5.4 Queues队列学习
  • Quartz初级教程
  • rc-form之最单纯情况
  • select2 取值 遍历 设置默认值
  • 关于for循环的简单归纳
  • 和 || 运算
  • 浅谈web中前端模板引擎的使用
  • 使用Swoole加速Laravel(正式环境中)
  • 温故知新之javascript面向对象
  • 栈实现走出迷宫(C++)
  • 智能合约开发环境搭建及Hello World合约
  • ionic异常记录
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #Spring-boot高级
  • #Z2294. 打印树的直径
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (超详细)语音信号处理之特征提取
  • (二)丶RabbitMQ的六大核心
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (未解决)macOS matplotlib 中文是方框
  • (循环依赖问题)学习spring的第九天
  • (译) 函数式 JS #1:简介
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)创业的注意事项
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .Net Remoting常用部署结构
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET大文件上传知识整理
  • .NET导入Excel数据
  • .NET建议使用的大小写命名原则