ホームページ > バックエンド開発 > Python チュートリアル > Pythonにおけるjsonライブラリの操作方法は何ですか?

Pythonにおけるjsonライブラリの操作方法は何ですか?

PHPz
リリース: 2023-05-11 17:52:06
転載
971 人が閲覧しました
    #コンセプト

    • json はユニバーサル データ型です

    • 一般的な状況 データ以下のインターフェイスによって返される型はすべて json です。

    • 辞書のように見え、形式も k-v{ }

    • 実際には json です。は文字列です

    • 文字列はキーまたは値を使用して取得できないため、最初に辞書に変換する必要があります。

    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 文字列は文字列であり、ファイル

    ドラムメソッド

    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时内容输出显示正常的中文,而不是转码
    ログイン後にコピー

    パラメータ:

      ##インデント: 文字列行の変換インデント
    • ensure_ascii: ASCII コードに変換するかどうか
    • ##相違点:
    dump() は変換しません.write() メソッドを使用する必要がある場合は、その Dictionary を書き込むだけでよく、そのファイルは使用できます。また、.dumps() は .write() メソッドを使用して書き込む必要があります。辞書をファイルに書き込む場合は、 dump() は使いやすいですが、ファイルを操作する必要がない場合、またはコンテンツを保存する必要がある場合、データベースまたは Excel にアクセスするには、最初に dumps() を使用して辞書を文字列に変換する必要があります。書いてください###

    以上がPythonにおけるjsonライブラリの操作方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:yisu.com
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート