Json基础-dump写入和load读取

周末闲来无事,继续在家写几篇文章吧,以前就发布的主题《Json基础-dump和load用法解析》一直没有往里面填充内容。因而小编准备今天准备加点东西了.咱们你们都知道json库,里面的最经常使用的几个方法就是dumps   loads  dump  load ,在以前的介绍中,已经给你们分享了关于dumps和loads的用法,实际上就是序列化和反序列的用法,传送门:序列化和反序列化。那么本篇教程咱们主要给你们分享的是json库中的dump和load用法。html

首先咱们先来看一个基本的实例:python

import read_json def json_basic(): data={ 'ID':1, "课程":'python精讲', "机构":'深圳', "单价":'12.2', "网址":'http://www.baidu.com' } print('原始数据') print(data) print('-'*20) json_str = read_json.dumps(data) print(json_str) print('还原数据') print('-'*20) json_data = read_json.loads(json_str) print(json_data)

咱们导入json库,首先建立一个data用来保存咱们的json数据,而后咱们使用json dumps这个方法对dada数据也就是字典进行序列化操做,而后又对序列化操做后的数据进行反序列化操做。json

咱们来看一下json.dump的用法,看下面的代码:windows

def json_writer_file(): '''写json文档''' data={ 'ID':1, "课程":'python精讲', "机构":'深圳', "单价":'12.2', "网址":'http://www.baidu.com' } with open('data.json','w',encoding='utf-8') as f: json.dump(data, f)
定义将数据写入到json文件中,使用dump方法,其实dump方法就是json文件的写入,只不过须要传2个参数,一个是data,一个是写入的对象f。咱们看一下写入后的结果:

json_data中的数据以下:iphone

{"\u7f51\u5740": "http://www.baidu.com", "\u8bfe\u7a0b": "python\u7cbe\u8bb2", "ID": 1, "\u673a\u6784": "\u6df1\u5733", "\u5355\u4ef7": "12.2"}

使用dump写入json数据,而后咱们使用load读取数据:函数

def json_read_file(): '''读取json文件''' with open('data.json') as f: #打开data.json文件 data = json.load(f) print(data) if __name__ == '__main__': json_read_file() #data = json.load(f) f是读取的对象

输出结果以下:工具

{u'\u673a\u6784': u'\u6df1\u5733', u'\u7f51\u5740': u'http://www.baidu.com', u'\u5355\u4ef7': u'12.2', u'\u8bfe\u7a0b': u'python\u7cbe\u8bb2', u'ID': 1}

还有就是在读取数据的时候,类型差别。咱们定义一个函数:json_type_diff()开发工具

def json_type_diff(): '''类型差别''' # print(json.dumps(False)) #false # print(json.dumps(None)) #null data = { 'discontinued':False, 'Title':'iphone7s', 'Category':None, 'Price':5999.0 } print(json.dumps(data)) if __name__ == '__main__': json_type_diff()

输出结果以下:spa

{"Category": null, "Price": 5999.0, "discontinued": false, "Title": "iphone7s"}

布尔值:False 输出时变为小写的false操作系统

空置None:输出时变为小写的none

 

代码环境:

python:.3.6.3

json:2.8.1

操做系统:windows10

开发工具:pycharm201802

相关文章
相关标签/搜索