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

相關文章
相關標籤/搜索