ホームページ  >  記事  >  バックエンド開発  >  PythonのJSONの使い方

PythonのJSONの使い方

(*-*)浩
(*-*)浩オリジナル
2019-05-20 20:02:374927ブラウズ

Json (JavaScript Object Notation) は、シンプルなデータ形式、読み書きの容易さ、理解の容易さなど、多くの利点を備えた軽量のデータ交換形式です。多くの主流プログラミング言語はフロントエンドとバックエンドのデータ送信にこれを使用しており、サーバーとクライアントの開発作業負荷が大幅に簡素化されます。 XML と比較して軽量で解析が容易なため、多くの開発者はデータの送信と交換に Json 形式に従っています。今日は、Python の Json エンコードとデコードに関する知識を詳しく紹介します。

PythonのJSONの使い方

強力な Python は、「json」モジュールを提供します。これは、モジュールの組み込み関数を通じて、散在するさまざまなデータを json 形式のデータに簡単にエンコードできます。 json形式のデータを必要なデータにデコードするのは非常に簡単なので、以下に紹介しましょう。

json.dumps()

json モジュールの dumps 関数は、データをエンコードして json 形式のデータを形成します。次の例を見てみましょう:

PythonのJSONの使い方

出力結果を見ると、非常によく似ていますが、辞書が dumps メソッドによって json 形式に変換されていることが簡単にわかります。このうちダンプ内のパラメータ「sort_keys=True」は、json出力後にキーと値を0~9、a~zの順にソートさせるもので、記入しないと乱雑に並んでしまいます。 json 内のデータを並べ替えて比較すると便利な場合があるため、適切な並べ替えが必要です。

さらに、「Indent」パラメータはインデントを意味します。これにより、出力 Json がよりすっきりして読みやすくなります。例:

PythonのJSONの使い方

以下は、dumps() の入力可能なパラメータのリストです:

skipkey: dict オブジェクト内のデータが Python の基本データ型ではない場合、デフォルトは False です; (str、unicode、int) 、long、float、bool、None)、skipkey が False の場合、エラーが報告されます。skipkey が True の場合、このタイプのキーはスキップできます。

インデント: 0 で埋められるか埋められない場合in、その後 1 行に従って印刷します。それ以外の場合は、インデントの値に従って前のスペース (正の整数形式) が表示されます;

separators: 区切り文字、デフォルトは "(',',':' )"、キーの間を意味します "," で区切られ、キーと値は ":" で区切られます;

encoding: エンコード形式、デフォルト値は UTF-8;

sort_keys:ソートキーと値 ソート、デフォルト値は False、つまりソートなし;

ensure_ascii: デフォルトは True です。辞書オブジェクトに非 ASCII 文字が含まれている場合、\uXX 形式が表示されます。 False の場合は正常に表示されます;

json.loads()

loads 関数はダンプとは異なり、データを json 形式でデコードして変換します。 Python 辞書に変換します。次の例を見てみましょう :

PythonのJSONの使い方

出力結果に中国語が含まれる場合、エンコード形式が異なる場合があり、Unicode エンコード形式が使用されないことがあります。解決方法は、「encoding」パラメータを追加する、つまり上記を d1 = json.loads(data1, encoding='utf-8') のように書き換えます。

json.dump() と json.load()

上記のダンプとロードと比較すると、ダンプ関数とロード関数は似た機能を持っています。以下に示すように、前者は文字列型の処理に使用され、後者はファイル型の処理に使用されます。

PythonのJSONの使い方

上記の例では、json の 4 つのメソッドがリストされています。 dumps() と dump()、loads() とload() c とは異なり、Python は json を処理するのに非常に便利であることがわかります (使用する人なら誰でも知っています)。

以上がPythonのJSONの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。