【Python】JSONの高速処理が可能なsimplejsonのインストール

【Python】JSONの高速処理が可能なsimplejsonのインストール プログラミング

「PythonでJSONを扱いたい」
「Pythonの処理を高速化したい」

このような場合には、simplejsonがオススメです。
この記事では、JSONを高速に処理できるsimplejsonについて解説しています。

本記事の内容

  • simplejsonとは?
  • simplejsonのシステム要件
  • simplejsonのインストール
  • simplejsonの動作確認

それでは、上記に沿って解説していきます。

simplejsonとは?

simplejsonは、JSONエンコーダおよびデコーダです。
オープンソースのPythonライブラリとして公開されています。

ただ、Pythonには標準ライブラリとしてjsonモジュールが用意されています。
そして、jsonモジュールはJSONエンコーダおよびデコーダの機能を備えています。

そのため、simplejsonは必ずしもインストールする必要はないかもしれません。
しかし、simplejsonはjsonモジュールに比べて次の点で優れています。

  • シンプル
  • 高速
  • 完全
  • 正しい
  • 拡張可能

とにかく、simplejsonを使わないと損だということです。
それに、simplejsonはjsonモジュールと同じように利用できます。

本当に全く同じように使えます。
このことは、後述の「simplejsonの動作確認」で説明しています。

以上、simplejsonについて説明しました。
次は、simplejsonのシステム要件を説明します。

simplejsonのシステム要件

現時点(2022年6月末)でのsimplejsonの最新バージョンは、3.17.6となります。
この最新バージョンは、2021年11月17日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

サポート対象となるPythonのバージョンは、以下となっています。

何でもOKということですね。
でも、Python公式開発サイクルに従ったバージョンを利用しましょう。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

つまり、Python 3.7以降を利用しましょうということです。
もう、Python 3.6もサポート期限が切れていますからね。

まとめると、simplejsonはどんな環境でも動くと言えます。
OS、Pythonのバージョンを問わずに動きます。

以上、simplejsonのシステム要件を説明しました。
次は、simplejsonのインストールを説明します。

simplejsonのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        22.1.2
setuptools 62.6.0
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、simplejsonのインストールです。
simplejsonのインストールは、以下のコマンドとなります。

pip install simplejson

simplejsonのインストールは、すぐに終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list
Package    Version
---------- -------
pip        22.1.2
setuptools 62.6.0
simplejson 3.17.6
wheel      0.36.2

simplejsonには、依存するパッケージが存在していません。
そのため、既存環境への導入が容易に可能です。

以上、simplejsonのインストールを説明しました。
次は、simplejsonの動作確認を説明します。

simplejsonの動作確認

simplejsonの動作確認は、以下の処理を行います。

  • load()によるJSONファイルの読み込み
  • loads()によるJSON文字列の読み込み

全く同じことを次の記事において、検証しています。

上記記事は、標準ライブラリのjsonモジュールを用いた場合の検証です。
同じコーディングで同じことを検証できます。

もちろん、import文でモジュールを読み込む箇所は異なります。
でも、違いは本当にそこだけです。

それぞれの処理を下記で説明します。

load()によるJSONファイルの読み込み

まず、読み込みためのJSONファイルを用意します。

sample.json

{ "id" : 1,  "name" : "ユーザー"}

このJSONファイルを読み込むコードは、以下。

import simplejson as json

with open("sample.json", mode='r') as f:
    dict_json = json.load(f)
    print(type(dict_json))
    print(dict_json)

上記を実行した結果、以下が表示されます。

<class 'dict'>
{'id': 1, 'name': 'ユーザー'}

loads()によるJSON文字列の読み込み

こちらは、ファイルではなく文字列を読み込みます。
JSON文字列を読み込むコードは、以下。

import simplejson as json

json_str = """{ "id" : 2,  "name" : "ゆーざー"}"""
dict_json = json.loads(json_str)
print(type(dict_json))
print(dict_json)

上記を実行した結果、以下が表示されます。

<class 'dict'>
{'id': 2, 'name': 'ゆーざー'}

まとめ

両方の処理において、コードと結果ともにjsonモジュールを利用した場合と同じです。
詳細については、上記で挙げた記事をご覧ください。

これは、置き換えが簡単にできることを示しています。

import json

import simplejson as json

このようにコードを書き換えるだけです。
そうすれば、処理を高速化できます。

少ない労力でPythonを簡単に高速化できるということです。

以上、simplejsonの動作確認を説明しました。

タイトルとURLをコピーしました