python 讀寫json文件(dump, load),以及對json格式的數據處理(dumps, loads)

 

JSON (JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。python

一、json.dumps()和json.loads()是json格式處理函數(能夠這麼理解,json是字符串)json

 

  1. json.dumps()函數是將一個Python數據類型列表進行json格式的編碼(能夠這麼理解,json.dumps()函數是將字典轉化爲字符串)
  2. json.loads()函數是將json格式數據轉換爲字典(能夠這麼理解,json.loads()函數是將字符串轉化爲字典)

 

在json的編解碼過程當中,python 的原始類型與json類型會相互轉換,具體的轉化對照以下:函數

Python 編碼爲 JSON 類型轉換對應表:

Python JSON
dict object
list, tuple array
str string
int, float, int- & float-derived Enums number
True true
False false
None null

JSON 解碼爲 Python 類型轉換對應表:

JSON Python
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None

 

二、json.dump()和json.load()主要用來讀寫json文件函數編碼

實例以下:spa

import json,time
# save data to json file
def store(data):
    with open('data.json', 'w') as fw:
        # 將字典轉化爲字符串
        # json_str = json.dumps(data)
        # fw.write(json_str)
        # 上面兩句等同於下面這句
        json.dump(data,fw)
# load json data from file
def load():
    with open('data.json','r') as f:
        data = json.load(f)
        return data


if __name__ == "__main__":
    json_data = '{"login":[{"username":"aa","password":"001"},{"username":"bb","password":"002"}],"register":[{"username":"cc","password":"003"},{"username":"dd","password":"004"}]}'
    # 函數是將json格式數據轉換爲字典
    data = json.loads(json_data)
    store(data)

    data = load()
    print(data)

 

總結:code

不帶s的用於操做文件,帶s的用於數據類型的轉換。blog

相關文章
相關標籤/搜索