シリアライズとPython JSON形式の学習のデシリアライズ

ビューJSONライブラリー方法

インポート  JSONの
 印刷" mainメソッドJSONライブラリ:"。、JSON __all__がある基本的な方法## JSONライブラリ:[ 'ダンプ'、 'ダンプ '、 '負荷'、 '負荷'、 'JSONDecoder'、 'JSONDecodeError' 「JSONEncoder」] 

ダンプダンプとオブジェクト間の差がシリアライズしてファイルに保存されているダンプは、            オブジェクトのシリアル化がダンプ負荷と直列化文字列がファイルから読み込ま負荷とデシリアライズの間に荷重差            連載ロード文字列のデシリアライズ

 

JSONオブジェクトへのPythonの辞書の種類

インポートJSON
 JSONにPythonの辞書オブジェクト 
データ= {
     ' NO ' 001: ' 名称'' Runoob ' ' URL '' http://www.runoob.com ' ' アドレス'' 北京' 
} 
json_str = json.dumps(データ)
json_str1 = json.dumps(データ、ensure_ascii = プリント" プリミティブデータ型:"、タイプ(データ))
 を印刷Pythonの生データ:、のrepr(データ))  フォームにオブジェクトのためのrepr()関数は、インタプリタによって読み取ら。repr(オブジェクト)の文字列形式のオブジェクトを返します
印刷' JSONオブジェクトを入力:' 、タイプ(json_str)、タイプ(json_str1))を
 印刷する" JSONオブジェクト:" 、json_str)が
 印刷" JSONオブジェクトの文字エンコーディングを,, " 、 json_str1)

「」 ' 
中国の文字エンコーディングの問題
json.dumpsは、中国が= Falseをensure_ascii :.指定することが本当の中国の必要性デフォルトの出力エンコーディングはASCIIを使用したいシリアライズ
インポートのJSON 
印刷(json.dumps( 『中国』))
」 \ u4E2D \ u56fd " 
印刷(json.dumps("中国"

「」」

JSONオブジェクトとして変換Pythonの辞書 Pythonの型に再変換した後に

デシリアライズ、デコードされた文字列PythonのJSONデータ・オブジェクトのフォーマット、およびコード実装参照を出力:
 インポート  JSON 
dict1 = { 名前ラッキー年齢 27、アドレス}
 印刷'プリミティブデータタイプ:' 、タイプ(dict1))
 プリント' 生データ:' 、dict1)
プロセスシリアライズdict1の 
STR1 = json.dumpsを(dict1、ensure_ascii =偽)   #を削除歪み文字表示
の印刷データ型がシリアライズされています。"、タイプ(0009))
 プリント' データがシリアル化される:' 、STR1、) 

STR1デシリアライズの 
dict2 = json.loads(STR1)
 プリント' デシリアライゼーション後のデータタイプ:' 、タイプ(dict2))
 を印刷' 非直列化データ:'、dict2)
辞書にPythonのJSONオブジェクトタイプ 
DATAL = {
     ' NO ':001 ' 名称'' Runoob ' ' URL '' http://www.runoob.com ' ' アドレス'' 北京' 
} 
json_str json.dumps =(DATAL、ensure_ascii = False)が
 印刷" Pythonの生データ:" 、のrepr(DATAL))
 を印刷" JSONオブジェクト:"、Json_str) 

変換JSONはPythonの辞書オブジェクト 
DATA2 = json.loads(json_str)
 印刷" DATA2の[ '名前']:"、DATA2 [ ' 名前' ])
 印刷DATA2リンク[ 'URL']:"、DATA2 [ ' URL ' ])
 印刷(DATA2)

 

あなたがに対処するための文字列の代わりにファイルをされたい場合は、エンコードとデコードJSONデータに()とjson.loadを()json.dump使用することができます。例えば:
インポート  JSON 
データ = {
     ' NO ':001 ' 名称'' Runoob ' ' URL '' http://www.runoob.com ' ' アドレス'' 北京' 
} 
#の書き込みデータJSON 
(とのオープン' data.json '' W ')AS F:
    json.dump(データ、F) 

读取数据 
オープン(と' data.json '' R ' :Fなどの)
    データ = json.load(F)
     印刷(データ)

 

リクエスト・ライブラリを結合、JSONは、データを返さ

###、データベース要求をデータバインディング、JSONを返した、具体的コード:

インポート  JSON、要求
R&LT = requests.get(' http://wthrcdn.etouch.cn/weather_mini?city=深' プリント(R&LT .text、U ' データタイプ:' 、タイプ(r.text))
データはデシリアライズ動作 
DIC = json.loads(r.text)
 プリント(DIC、U ' データタイプ:'、タイプ(DIC ))

おすすめ

転載: www.cnblogs.com/carey9420/p/12066891.html