ホームページ  >  記事  >  バックエンド開発  >  Python で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法

Python で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法

WBOY
WBOYオリジナル
2023-10-16 09:22:501771ブラウズ

Python で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法

Python で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法

Python は、開発者が便利な組み込みライブラリとモジュールを多数備えた、シンプルでありながら強力なプログラミング言語です。さまざまなタスクを迅速に実行します。その中で、pickle と JSON は、オブジェクトのシリアル化と逆シリアル化によく使用される 2 つのモジュールです。この記事では、これら 2 つのモジュールを使用してオブジェクトをシリアル化および逆シリアル化する方法を紹介し、詳細なコード例を示します。

  1. オブジェクトのシリアル化と逆シリアル化に pickle を使用する

pickle は、オブジェクトをバイナリ データに変換して保存または送信できる Python のモジュールです。また、復元することもできます。バイナリデータを元のオブジェクトにコピーします。

最初に、pickle モジュールをインポートする必要があります:

import pickle

次に、pickle モジュールのダンプ関数を使用して、オブジェクトをバイナリ データにシリアル化します:

data = {'name':'Tom', 'age': 25, 'city': 'New York'}
serialized_data = pickle.dumps(data)

ダンプ機能を使用します。 その後、変数 Serialized_data にシリアル化されたバイナリ データが保持されます。逆に、loads 関数を使用してバイナリ データを元のオブジェクトに復元することもできます。

deserialized_data = pickle.loads(serialized_data)
print(deserialized_data)

このとき、変数 deserialized_data は復元された元のオブジェクトを保存します。

次は、カスタム Person オブジェクトをシリアル化および逆シリアル化する方法を示す完全な例です。

import pickle

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化对象
person = Person('Tom', 25)
serialized_person = pickle.dumps(person)

# 反序列化对象
deserialized_person = pickle.loads(serialized_person)
print(deserialized_person.name)
print(deserialized_person.age)
  1. オブジェクトのシリアル化および逆シリアル化に JSON を使用する JSON は、簡単な軽量のデータ交換形式です。読み書きすること。 Python は、JSON オブジェクトを簡単にシリアル化および逆シリアル化できる json モジュールを提供します。
まず、json モジュールをインポートする必要があります:

import json

次に、json モジュールのダンプ関数を使用して、オブジェクトを JSON 文字列にシリアル化します:

data = {'name':'Tom', 'age': 25, 'city': 'New York'}
serialized_data = json.dumps(data)

Use dumps 関数の後、変数 Serialized_data にはシリアル化された JSON 文字列が保持されます。逆に、loads 関数を使用して JSON 文字列を元のオブジェクトに復元することもできます。

deserialized_data = json.loads(serialized_data)
print(deserialized_data)

このとき、変数 deserialized_data は復元された元のオブジェクトを保存します。

同様に、カスタム Person オブジェクトをシリアル化および逆シリアル化する方法を示す完全な例を次に示します:

import json

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化对象
person = Person('Tom', 25)
serialized_person = json.dumps(person.__dict__)

# 反序列化对象
deserialized_person = json.loads(serialized_person)
print(deserialized_person['name'])
print(deserialized_person['age'])

概要:

合格 これら 2 つのモジュール、pickle と JSON を使用して、オブジェクトを簡単にシリアル化および逆シリアル化できます。 pickle を使用してオブジェクトをバイナリ データに変換し、ファイル ストレージやネットワーク送信に使用できます。JSON は汎用データ交換形式であり、他の言語と簡単にデータを交換できます。特定の使用シナリオとニーズに応じて、オブジェクトのシリアル化および逆シリアル化操作を実行する適切なモジュールを選択できます。

以上がPython で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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