1. 程式人生 > >python的json模組

python的json模組

JSON (JavaScript Object Notation)是一種使用廣泛的輕量資料格式. Python標準庫中的json模組提供了JSON資料的處理功能。

python中字典格式和json類似,Python中的json庫提供的主要功能, 也是兩者之間的轉換

1、將json串轉為字典,使用loads方法

import json
json_str='''
{"name":"小黑","age":18,"sex":"男","age":18}
'''
res = json.loads(json_str) #把json串轉為字典
print(type(res))
print(res)

2、將字典轉為json串,使用dumps

import json
dic = {
    "xiaohei":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
    "小白":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
    "小王":{
        "age":18,
        "password":12345,
        "sex"
:"", "addr":"北京" }, } res = json.dumps(dic)#將字典轉為json print(res)
#注意,這樣講所有的漢字轉為ascii碼,可使用下面的方法不轉為ascii碼,且好看
res1 = json.dumps(dic,ensure_ascii=False,indent=4)#其中ensure_ascii=False是不將中文轉為ascii碼,indent是縮排數  

3、將一個包含JSON格式資料的可讀檔案轉為字典,使用load,load可以自己讀檔案

with open('text.json','r',encoding='
utf-8') as fr: aa = json.loads(fr.read()) fr.seek(0) bb = json.load(fr)# json.load(fr)和json.loads(fr.read()) 返回結果一樣,load可以自己去讀檔案 print(aa) print(bb) #輸出 {'name': '小黑', 'age': 18, 'sex': ''} {'name': '小黑', 'age': 18, 'sex': ''}

4、將檔案中的字典格式轉換成json,使用dump

一個動作是將”obj“轉換為JSON格式的字串,還有一個動作是將字串寫入到檔案中
import json

dic = {
    "xiaohei":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
    "小白":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
    "小王":{
        "age":18,
        "password":12345,
        "sex":"",
        "addr":"北京"
    },
}

fw = open('newuser.json','w',encoding='utf-8')#開啟一個新的檔案
aa = json.dump(dic,fw,indent=4,ensure_ascii=False)#將字典寫到該檔案中
print(aa)