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

PHPz
Libérer: 2023-05-11 17:52:06
avant
856 Les gens l'ont consulté

    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
    Copier après la connexion

    Opération sur les fichiers

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

    load method

    import json f = open('stus.json',encoding="utf-8") user_dic = json.load(f) print(user_dic)
    Copier après la connexion

    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))
    Copier après la connexion

    File operation

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

    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时内容输出显示正常的中文,而不是转码
    Copier après la connexion
    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!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!