1.概要
JSON(JavaScript Object Notation)はそれを読み、書きやすいシンプルな、明確な階層構造を有し、軽量のデータ交換フォーマットですが、また、効果的にネットワークの伝送効率を向上させることができます。Pythonの標準ライブラリモジュールは、データ処理動作の実質的JSON JSON形式に使用することができます。
2.
メインモジュールは、JSONダンプ、ダンプ、ロード、ロードデータJSONを符号化及び復号化するための方法を提供します。
2.1ダンプ
Pythonオブジェクトを例にJSON形式の文字列、辞書形式に変換することができるダンプJSONモジュールの製造方法例を参照してください。
import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False)
print(j)
結果:
{"id": "001", "name": "张三", "age": "20"}
我々は、上記の出力をJSONにフォーマットされていないことを見出し、以下のような方法は、さらに、データをフォーマットしてもよいダンプ。
import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ': '))
print(j)
結果:
{
"age": "20",
"id": "001",
"name": "张三"
}
もちろん、辞書に加えて、他の種類の数もPythonのJSON形式の文字列に変換することができる、次のようにそれらの間の対応関係が存在します。
パイソン | JSON |
---|---|
辞書 | オブジェクト |
リスト、タプル | アレイ |
STR | ストリング |
IINT、フロート、int型とfloat型派生列挙 | 数 |
真 | 真 |
偽 | 偽 |
なし | ヌル |
そして、JSONデータをファイルに書き込む方法を見て:
import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ': '))
with open('test.json', 'w', encoding='utf-8') as f:
f.write(j)
2.2ダンプ
方法JSONダンプモジュールPythonの標的配列は、JSONストリームクラスのオブジェクトファイル形式としてフォーマットされてもよいです。
私たちは、ファイルへの書き込みデータに必要がある場合は、ダンプ方法は少し方法ダンプ、例を見てより便利になりますと、:
import json
d = {'id':'001', 'name':'张三', 'age':'20'}
with open('test.json', 'w', encoding='utf-8') as f:
json.dump(d, f, indent=4, ensure_ascii=False)
我々はJSON形式の文字列のデータ・フォーマットが必要な場合は、例えば:データベースに格納されたデータは、その後、あなたが使用する方法をダンプする必要があります。
2.3負荷
この方法は、JSONモジュール負荷にPythonはオブジェクトJSON形式にデータを、例を参照してもよいです。
import json
j = '{"id":"001", "name":"张三", "age":"20"}'
d = json.loads(j)
print(d)
結果:
{'id': '001', 'name': '张三', 'age': '20'}
次の2つの間の変換の対応関係は次のとおりです。
JSON | パイソン |
---|---|
オブジェクト | 辞書 |
アレイ | リスト |
ストリング | STR |
番号(int型) | int型 |
数(実数) | 浮く |
真 | 真 |
偽 | 偽 |
ヌル | なし |
私たちは、データを見てみましょう次のように以前に生成test.jsonとにPythonオブジェクトをお読みください。
import json
with open('test.json', encoding='utf-8') as f:
data = f.read()
print(json.loads(data))
結果:
{'id': '001', 'name': '张三', 'age': '20'}
2.4負荷
パイソンに方法JSON負荷クラス・オブジェクト・モジュール・ファイルは、例を参照オブジェクト:
import json
with open('test.json', encoding='utf-8') as f:
print(json.load(f))
結果:
{'id': '001', 'name': '张三', 'age': '20'}
私たちは、負荷パラメータの伝統的な方法は、ファイルオブジェクトであることを確認することができ、かつ負荷がメソッドのパラメータは文字列で渡します。