ホームページ >バックエンド開発 >Python チュートリアル >Pythonでのjson形式データのエンコードとデコード
この記事の例では、Pythonでのjson形式データのエンコードとデコード方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
Python には、バージョン 2.6 から json データ形式の処理メソッドが組み込まれています。
1. json形式のデータエンコード
Pythonでは、jsonデータ形式のエンコードにはjson.dumpsメソッドを使用します。
#!/usr/bin/env python #coding=utf8 import json users = [{'name': 'tom', 'age': 22}, {'name': 'anny', 'age': 18}] #元组对象也可以 #users = ({'name': 'tom', 'age': 22}, {'name': 'anny', 'age': 18}) #输出[{"age": 22, "name": "tom"}, {"age": 18, "name": "anny"}] print json.dumps(users)
ここで、ユーザーはタプル オブジェクトまたはリスト オブジェクトになります。オブジェクト内の要素には、数値、文字列、タプル、リスト、なし、およびブール値を使用できます。
#!/usr/bin/env python #coding=utf8 import json random = (5, [1, 2], "tom\" is good", (1, 2), 1.5, True, None) #输出[5, [1, 2], "tom\" is good", [1, 2], 1.5, true, null] print json.dumps(random)
2. json形式のデータをデコードする
Pythonでは、json形式のデータのデコードにはjson.loadsメソッドを使用します:
#!/usr/bin/env python #coding=utf8 import json random = (5, [1, 2], "tom\" is good", (1, 2), 1.5, True, None) jsonObj = json.dumps(random) #输出[5, [1, 2], u'tom" is good', [1, 2], 1.5, True, None] print json.loads(jsonObj)
最初の例は次のとおりです。データは json エンコードされ、エンコードされたデータがデコードされます。論理的に言えば、デコードされたデータは元のデータと同じであるはずですが、ここではタプル オブジェクトがリスト オブジェクトに置き換えられていることがわかりました。これには、Python と JSON 間の変換のためのデータ形式の定義が含まれます。次の 2 つの図を見てください:
json データ形式定義に変換された Python
Python データ形式定義に変換された json
上の 2 つの図から、Python が json に変換されると、 listの場合、タプルは配列に変換されますが、jsonをPythonに変換する場合、配列はリストに変換されるだけです。
注: 上の 2 つの写真の内容は Python 公式 Web サイトからのものです。 json の dumps メソッドとloads メソッドには、使用できる他のパラメータもあります。
Python での json 形式データのエンコードとデコードに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。