**まず、JSONとは何かを理解しますか? ****
JSON:JavaScriptオブジェクト表記[JavaScriptオブジェクト表記]
JSONは軽量のデータ交換フォーマットであり、プログラミング言語のテキストフォーマットから完全に独立しています。通常、バックグラウンドアプリケーションは応答データをJSON形式にカプセル化し、それを返します。
JSONの基本的な構文は次のとおりです。JSONの名前と値のペア。 JSONデータの書き込み形式は、名前と値のペアです。名前と値のペアには、フィールド名(二重引用符で囲んだもの)、コロン(:)、最後に値が含まれます。
JSONの最も一般的に使用される形式は、オブジェクトのキーと値のペアです。キーは文字列のみ、値はオブジェクト、配列、文字列、数値、true / false、nullにすることができます。
{" sites":[{"name":"360","url":"www.360.com"},{"name":"google","url":"www.google.com"},{"name":"baidu","url":"www.baidu.com"}]}
**jsonはpythonの辞書によく似ていますが、2つの違いは何ですか? ****
1 )jsonのキーは文字列のみであり、dictのキーは文字列、数値、タプルなどのハッシュ可能なオブジェクトにすることができます。
2 )辞書はデータ構造であり、jsonはデータ形式です。辞書には多くの組み込み関数とさまざまな呼び出しメソッドがあります。jsonはデータパッケージ化の形式であり、辞書のように操作できません。
3 )json文字列には二重引用符、dict文字列には一重引用符および二重引用符が必須です。
一般的に言えば、jsonをpythonの辞書またはリストに変換してから操作します。
**jsonを処理するためのPythonモジュール:json **
Pythone3の標準ライブラリJSONモジュールは、jsonデータの変換と処理に簡単に役立ちます。これは主にシリアル化(json.dumps()、json.dump())と逆シリアル化(json.loads()、 json.load())。
シリアル化と逆シリアル化:
オブジェクトを、ネットワーク経由で送信したり、ローカルディスクに保存したりできるデータ形式(XML、JSON、特定の形式のバイト文字列など)に変換するプロセスは、シリアル化と呼ばれます。それ以外の場合は、逆シリアル化と呼ばれます。
一般的に使用されるJSONモジュールメソッド:
sのあるものは文字列に関連し、sのないものはファイルに関連しています。
例:
辞書をjson文字列に変換する
import json
dic ={'name':'xiaoming','age':29}
json_str = json.dumps(dic)#json文字列を返す
print(json_str)print(type(json_str))
出力:
{" name":"xiaoming","age":29}<class'str'
PythonデコードJSONオブジェクト
import json
json_str ='{"id":"09", "name": "Nitin", "department":"Finance"}'
# Convert string to Python dict
dict = json.loads(json_str)print(dict)
# 辞書に変換された後、その中の値にアクセスするには、辞書のキーを使用してアクセスできます
print(dict['id'])
出力:
{' id':'09','name':'Nitin','department':'Finance'}09
jsonファイルを読む
import json
withopen('test1.json')as f:
a = json.load(f)print(a)print(type(a))
出力:
{' sites':[{'name':'360','url':'www.360.com'},{'name':'google','url':'www.google.com'},{'name':'baidu','url':'www.baidu.com'}]}<class'dict'
jsonファイルを書き込む
import json
dic ={"name":"xiaoming","age":20,"phonenumber":"15555555555"}withopen("test2.json","w")as outfile:
json.dump(dic, outfile)
ファイルテスト.json {"name":"xiaoming","age":20,"phonenumber":"15555555555"}
Python型変換JSON型対応
JSON型からPython型比較表への変換
上記は、Pythonがjsonモジュールを処理する方法の詳細です。Pythonがjsonモジュールを処理する方法の詳細については、ZaLou.Cnの他の関連記事に注意してください。
Recommended Posts