高度なパイソン(IX):JSONの基本的な操作

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'}

私たちは、負荷パラメータの伝統的な方法は、ファイルオブジェクトであることを確認することができ、かつ負荷がメソッドのパラメータは文字列で渡します。


公開された59元の記事 ウォンの賞賛1206 ビュー27万+

おすすめ

転載: blog.csdn.net/ityard/article/details/104620045