PythonのJSONライブラリー

JSON(JavaScript Object Notation)は簡単に読み書きするために、軽量のデータ交換フォーマットです。

使用1.jsonライブラリ

JSON JSONライブラリ関数を使用すると、インポートする必要があります:インポートJSONを

機能 説明
json.dumps JSON文字列のPythonのオブジェクトをコードします
json.loads エンコードされたJSON文字列は、Pythonオブジェクトをデコード

JSON文字列にPythonオブジェクトをコードする1 json.dumps。

文法

json.dumps(allow_nan = Trueの場合、CLS =なし、インデント=なし、セパレータ=なし、エンコード= "UTF-8"、デフォルト=なし、sort_keys = Falseに、OBJ、skipkeys = Falseを、ensure_ascii =真、check_circular =真、 **キロワット)

 

例えば:JSON文字列のPythonにオブジェクトの配列

コードをコピー
#!は/ usr / binに/ pythonの
輸入JSON

データ= [{ '名前': 'ジョン・ドウ'、 '年齢':25}、{ '名前': 'ジョン・ドウ'、 '年齢':26}]

jsonStr = json.dumps(データ)
印刷(jsonStr)
コードをコピー

結果:

[{ "名前": "\ u5f20 \ u4e09"、 "年齢":25}、{ "名前": "\ u674e \ u56db"、 "年齢":26}]

 

たとえば:レッツJSONはデータ出力をフォーマットさ:

コードをコピー
#!は/ usr / binに/ pythonの
輸入JSON

データ= [{ '名前': 'ジョン・ドウ'、 '年齢':25}、{ '名前': 'ジョン・ドウ'、 '年齢':26}]

jsonStr = json.dumps(データ、sort_keys =真、インデント= 4、セパレータ=( ''、 ':'))
印刷(jsonStr)
コードをコピー

結果:

[
  {
    "年齢":25、
    "名前": "\ u5f20 \ u4e09"
  }、
  {
    "年齢":26、
    "名前": "\ u674e \ u56db"
  }
]

 

オブジェクトが漢字に変換されたときにJSONパイソンを話すために、文字列では、Unicode文字に書式設定上記、Unicodeに変換されていない場合、あなたは次の方法を使用することができます。

コードをコピー
#!は/ usr / binに/ pythonの
輸入JSON

データ= [{ '名前': 'ジョン・ドウ'、 '年齢':25}、{ '名前': 'ジョン・ドウ'、 '年齢':26}]

jsonStr = json.dumps(データ、ensure_ascii =偽)
印刷(タイプ(jsonStr))
印刷(jsonStr)
コードをコピー

結果:

<クラスのSTR '>
[{ "名前": "张三"、 "年齢":25}、{ "名前": "李四"、 "年齢":26}]

 

変換テーブルJSONタイプのパイソンオリジナルタイプ:

パイソン JSON
辞書 オブジェクト
リスト、タプル アレイ
STR、ユニコード
int型、長い、フロート
なし ヌル

 

2. json.loads JSONデータをデコード。この関数は、フィールドのデータ型のPythonを返します。

文法

json.loads(S [[コード、CLS [、object_hook [、parse_float [、parse_int [、parse_constant [、object_pairs_hook [** KW]]]]]]]])

 

たとえば:JSON文字列オブジェクトは、PYを回します

コードをコピー
#!は/ usr / binに/ pythonの
輸入JSON

データ= [{ '名前': 'ジョン・ドウ'、 '年齢':25}、{ '名前': 'ジョン・ドウ'、 '年齢':26}]

jsonStr = json.dumps(データ)
印刷(jsonStr)

jsonObj = json.loads(jsonStr)
印刷(jsonObj)
#最初のコレクションを取得します。
プリント(jsonObj [1])
コードをコピー

結果

[{ "名前": "\ u5f20 \ u4e09"、 "年齢":25}、{ "名前": "\ u674e \ u56db"、 "年齢":26}]
[{ '名前': '张三'、 '年齢':25}、{ '名前': '李四'、 '年齢':26}]
{ '名前': '李四'、 '年齢':26}

 

パイソンの型にJSON型変換テーブル:

JSON パイソン
オブジェクト 辞書
アレイ リスト
ユニコード
番号(int型) int型、長いです
数(実数) 浮く
ヌル なし

 

2. Demjson利用のサードパーティ製のライブラリ

  Demjson Pythonのサードパーティのモジュールは、それがフォーマット、エンコード及びデコードJSONデータに使用され、JSONLintチェック機能が含まれていることができ、ライブラリです。

モジュールをインストール1.

(1)ダウンロード

https://github.com/dmeranda/demjson

インストール後に(2)エキス

$ PWD
/c/Users/Administrator/Desktop/pytest/pymodule/demjson-release-2.2.4

管理者@ MicroWin10-1535にMinGW64〜/デスクトップ/ pytest / pymodule / demjson-リリース2.2.4
$ pythonのは、setup.py installを

 

2. JSON機能

機能 説明
エンコード JSON文字列のPythonのオブジェクトをコードします
デコード エンコードされたJSON文字列は、Pythonオブジェクトをデコード

 

(1)エンコード()関数は、PythonのJSON文字列にオブジェクトを符号化するために使用されます。

文法

demjson.encode(自己、OBJ、nest_level = 0)

 

例えば:

コードをコピー
#!は/ usr / binに/ pythonの
輸入demjson

データ= [{ '':1、 'B':2 'C':3、 'D':4 'E':5}]

JSON = demjson.encode(データ)
印刷(JSON)
コードをコピー

 結果:

[{ "":1、 "B":2、 "C":3 "D":4、 "E":5}]

 

 JSONデータを復号化する(2)demjson.decode()関数。この関数は、フィールドのデータ型のPythonを返します。

構文:

demjson.decode(自己、TXT)

 

たとえば、次のようにJSON JSONオブジェクトに文字列:

コードをコピー
#!は/ usr / binに/ pythonの
輸入demjson

jsonData = '{ "名": "张三"、 "年齢":20、 "セックス": "男"}';

OBJ = demjson.decode(jsonData)
印刷(OBJ)
印刷(タイプ(OBJ))
コードをコピー

結果:

{ '名前': 'ジョン・ドウ'、 '年齢':20、 'セックス': ' M'}
<クラスの辞書'>

 

 

おすすめ

転載: www.cnblogs.com/mxk123/p/11923940.html