Python中json函式庫的操作方法有哪些

PHPz
發布: 2023-05-11 17:52:06
轉載
933 人瀏覽過

    概念

    • json是一種通用的資料型別

    • 一般情況下介面回傳的資料型別都是json

    • 長得像字典,形式也是k-v{ }

    • 其實json是字串

    • 字串不能用key、value來取值,所以要先轉換成字典才可以

    json運算

    json轉換成字典:

    loads方法

    import json
    res = json.loads(s)  # s是json类型的字符串
    print(res)  # 打印字典
    print(type(res))  # 打印res类型
    print(res.keys())  # 打印字典的所有key
    登入後複製

    文件操作

    f = open('stus.json',encoding='utf-8')
    content = f.read() # 使用loads()方法需要先读文件
    user_dic = json.loads(cotent)
    print(user_dic)
    登入後複製

    load方法

    import json
    f = open('stus.json',encoding="utf-8")
    user_dic = json.load(f)
    print(user_dic)
    登入後複製

    區別:

    loads( ) 傳的是字串,而load()傳的是檔案物件

    使用loads()時需要先讀取檔案在使用,而load()則不用

    字典轉成json字串

    檔案裡只能寫字串,但是可以把字典轉成json串,json字串是字串,可以寫到檔案裡

    drums方法

    stus = {'xiaojun':'123456','xiaohei':'7891','abc':'11111'}
    res2 = json.dumps(stus)   # 先把字典转成json
    print(res2)
    print(type(res2))
    登入後複製

    檔案操作

    with open('stus.txt','w',encoding='utf-8') as f: # 打开文件
        f.write(res2)  # 在文件里写入转成的json串
    登入後複製

    dump()方法

    stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'}
    file = open('stus2.json','w',encoding='utf-8') 
    json.dump(stus,file,indent,ensure_ascii=False)  # 直接写入文件中,ensure_ascii为False时内容输出显示正常的中文,而不是转码
    登入後複製

    參數:

    • indent:字串轉行縮排

    • #ensure_ascii:是否轉為ASCII碼

    #區別:

    dump()不需要使用.write()方法,只需要寫那個字典,那個文件即可;而.dumps()需要使用.write()方法寫入.如果把字典寫到文件裡面的時候,dump()好用;但是如果不需要操作文件,或需要把內容存儲到資料庫何excel,則需要使用dumps()先把字典轉換成字串,再寫入

    以上是Python中json函式庫的操作方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:yisu.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板