Python3快速入門(八)——Python3 JSON

1、JSON簡介

JSON (JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,是基于ECMAScript的一個(gè)子集。

2、json模塊簡介

Python3 中可以使用 json 模塊來對 JSON 數(shù)據(jù)進(jìn)行編解碼,包含兩個(gè)函數(shù):
json.dumps():?對數(shù)據(jù)進(jìn)行編碼。
json.loads():?對數(shù)據(jù)進(jìn)行解碼。
在json的編解碼過程中,Python 的數(shù)據(jù)類型與json類型會相互轉(zhuǎn)換。
json.dump():將數(shù)據(jù)保存為JSON文件
json.load():從JSON文件讀取數(shù)據(jù)
Python數(shù)據(jù)類型編碼為JSON數(shù)據(jù)類型轉(zhuǎn)換表:
dict object
list,tuple array
str string
Int,float,enum number
True true
False false
None null
JSON解碼為Python數(shù)據(jù)類型轉(zhuǎn)換表:
object dict
array list
string str
number(int) int
number(real) float
true True
false False
null None

3、JSON實(shí)例

            
              # -*- coding:utf-8 -*-
import json

data = {
    "id":"123456",
    "name":"Bauer",
    "age":30
}

jsonFile = "data.json"

if __name__ == '__main__':
    # 將字典數(shù)據(jù)轉(zhuǎn)換為JSON對象
    print("raw data: ", data)
    jsonObject = json.dumps(data)
    print("json data: ", jsonObject)
    # 將JSON對象轉(zhuǎn)換為字典類型數(shù)據(jù)
    rowData = json.loads(jsonObject)
    print("id: ", rowData["id"])
    print("name: ", rowData["name"])
    print("age: ", rowData["age"])
    # 將JSON對象保存為JSON文件
    with open(jsonFile, 'w') as file:
        json.dump(jsonObject, file)
    # 將JSON文件讀取內(nèi)容
    with open(jsonFile, 'r') as file:
        data = json.load(file)
        print(data)

# output:
# raw data:  {'id': '123456', 'name': 'Bauer', 'age': 30}
# json data:  {"id": "123456", "name": "Bauer", "age": 30}
# id:  123456
# name:  Bauer
# age:  30
# {"id": "123456", "name": "Bauer", "age": 30}