ホームページ >バックエンド開発 >Python チュートリアル >Pythonでのjson形式データのエンコードとデコード

Pythonでのjson形式データのエンコードとデコード

高洛峰
高洛峰オリジナル
2017-03-01 13:15:081442ブラウズ

この記事の例では、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 つの図を見てください:

Pythonでのjson形式データのエンコードとデコード

json データ形式定義に変換された Python

Pythonでのjson形式データのエンコードとデコード

Python データ形式定義に変換された json

上の 2 つの図から、Python が json に変換されると、 listの場合、タプルは配列に変換されますが、jsonをPythonに変換する場合、配列はリストに変換されるだけです。

注: 上の 2 つの写真の内容は Python 公式 Web サイトからのものです。 json の dumps メソッドとloads メソッドには、使用できる他のパラメータもあります。

Python での json 形式データのエンコードとデコードに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。