Python3之json文件操作


json函數

使用json函數之前,首先需要導入json模塊,import json

1)、json.dumps()函數

該函數是將 Python 對象編碼成 JSON 字符串,例如:

 1 import json                                                                                         
 2 d={'謙謙':{'sex':'','addr':'北京','age':34},'千千':{ 'sex':'','addr':'北京', 'age':34},}                  
 3 print(json.dumps(d,ensure_ascii=False,indent=4))  #字典轉成json,字典轉換成字符串 加上ensure_ascii=False以后,可以識別中文, indent=4是間隔4個空格顯示
 4 
 5 #以上代碼轉換的結果是:
 6 {
 7     "謙謙": {
 8         "sex": "",
 9         "addr": "北京",
10         "age": 34
11     },
12     "千千": {
13         "sex": "",
14         "addr": "北京",
15         "age": 34
16     }
17 }

2)、json.dump()函數

該函數是可以將 Python 對象編碼成 JSON 字符串,並自己幫你寫入到文件中,不需要再單獨寫文件,例如:

1 import json                                                                         
2 d={'謙謙':{'sex':'','addr':'北京','age':34},'千千':{ 'sex':'','addr':'北京', 'age':34},}  
3 fw =open('user_info.json','w',encoding='utf-8')   #打開一個名字為‘user_info.json’的空文件
4 json.dump(d,fw,ensure_ascii=False,indent=4)#字典轉成json,字典轉換成字符串,不需要寫文件,自己幫你將轉成的json字符串寫入到‘user_info.json’的文件中 

3)、json.loads()函數

文件product.json的原文件內容如下:

{
    "iphone":{
        "color":"red",
        "num":1,
        "price":98.5
    },
    "wather":{
        "num":100,
        "price":1,
        "color":"white"
    }
}

使用json.loads()函數把json串變成python的數據類型:如下:

1 import json  
2 f =open('product.json',encoding='utf-8') #打開‘product.json’的json文件
3 res=f.read()  #讀文件
4 print(json.loads(res))#把json串變成python的數據類型:字典      
5 
6 #以上轉換的結果是:
7 {'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}} 

4)、json.load()函數

該函數把json串變成python的數據類型:字典,傳一個文件對象,它會幫你讀文件,不需要再單獨讀文件,例如:

import json   
f =open('product.json',encoding='utf-8')    #打開文件 
print(json.load(f))#把json串變成python的數據類型:字典,傳一個文件對象,它會幫你讀文件,不需要再單獨讀文件 

#以上轉換執行的結果是:
{'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM