Maison  >  Article  >  développement back-end  >  Quels sont les modes de fonctionnement de la bibliothèque json en Python ?

Quels sont les modes de fonctionnement de la bibliothèque json en Python ?

PHPz
PHPzavant
2023-05-11 17:52:06912parcourir

    Concept

    • json est un type de données universel

      # 🎜🎜 #
    • Généralement, le type de données renvoyé par l'interface est json

    • ressemble à un dictionnaire, et la forme est k-v{ }#🎜 🎜#

    • En fait, json est une chaîne
    • Les chaînes ne peuvent pas être obtenues par clé et par valeur, elles doivent donc être converti en premier Uniquement pour le dictionnaire
    • opération json

    json converti en dictionnaire :

    loads méthode

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

    Opération sur les fichiers

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

    load method

    import json
    f = open('stus.json',encoding="utf-8")
    user_dic = json.load(f)
    print(user_dic)

    Différence :

    loads() transmet une chaîne pendant le chargement () passe un objet fichier

    Lors de l'utilisation de loads(), vous devez d'abord lire le fichier avant de l'utiliser, mais load() n'a pas besoin d'être converti en dictionnaire

    #🎜 🎜#

    chaîne json

    Seules les chaînes peuvent être écrites dans le fichier, mais le dictionnaire peut être converti en chaîne json La chaîne json est une chaîne et peut être écrite dans le fichier#. 🎜🎜#

    drums méthode#🎜 🎜#
    stus = {'xiaojun':'123456','xiaohei':'7891','abc':'11111'}
    res2 = json.dumps(stus)   # 先把字典转成json
    print(res2)
    print(type(res2))

    File operation

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

    dump() méthode

    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时内容输出显示正常的中文,而不是转码

    Paramètres :

    # 🎜 🎜#

    indent : Conversion de chaîne + indentation

      ensure_ascii : S'il faut convertir en code ASCII
    • #🎜 🎜#

    • Différence :
    • dump() n'a pas besoin d'utiliser la méthode .write(), il vous suffit d'écrire le dictionnaire et ce fichier tandis que .dumps() doit l'utiliser ; la méthode .write() pour écrire. Si vous écrivez le dictionnaire dans le fichier Une fois à l'intérieur, dump() est facile à utiliser mais si vous n'avez pas besoin d'exploiter des fichiers, ou si vous avez besoin de stocker le contenu dans une base de données ou Excel ; , vous devez d'abord utiliser dumps() pour convertir le dictionnaire en chaîne, puis l'écrire

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer