1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【Python入門】JSON形式データの扱い方

【Python入門】
Pocket

Web アプリケーションでデータのやりとりを行う際に、「JSON」という形式でデータをや
り取りすることがあります。JSON は C 言語や JAVA などの様々な言語で使われており、
もちろん Python でも扱うことができます。今回は、Python で JSON を扱う方法の基礎的
な部分について説明します。

JSON とは

まずは、JSON というものがどういった形式なのかについて説明します。JSON は
「JavaScript Object Notation」の略で、「JavaScript 言語の表記法をベースにしたデータ
形式」と言えます。しかし、表記が JavaScript ベースなだけで、それ以外のさまざまな言語で利用できます。
JSON では、ある数値と、その数値の名前であるキーのペアをコロンで対にして、それらをコンマで区切り、全体を波かっこで括って表現します。

JSON を扱う

それでは、実際に Python で JSON 形式のデータを扱う方法について説明します。

JSON ファイルの読み込み

JSON ファイルを扱うには、まず JSON ファイルからデータを読み込む必要があります。
JSON ファイルを読み込む手順は
(1)JSON ファイルを開く
(2)開いたファイルを JSON として読み込む
の 2 ステップです。具体的には、以下のように記述します。

JSON 関連の関数を使うために、初めに json モジュールをインポートする必要があります。
忘れないようにしましょう。続いて、JSON ファイルを読み込みファイルとして開きます。
これは通常のファイル操作と同じです。そして、読み込んだ JSON ファイルを、load 関数
を使って JSON オブジェクトとして保存します。これで JSON の読み込みができました。

JSON の変換

JSON ファイルを load 関数で読み込むと、Python で扱いやすいように辞書型で保存され
ます。辞書型なら要素の取り出しなどが容易に出来て便利ですが、ときには JSON 形式の
文字列として扱いたい場合もあります。その場合は、辞書型から JSON 形式の文字列へ変
換しましょう。辞書型から JSON 形式の文字列への変換は dumps 関数を使います。

実行結果

json_dict:
—–辞書型から JSON 形式の文字列へ変換—–
json_str:

また、これとは逆に JSON 形式の文字列を辞書型に変換することもできます。変換には json
モジュールの loads 関数を使います。

実行結果

json_dict:
—–辞書型から JSON 形式の文字列へ変換—–
json_str:
—–JSON 形式の文字列から辞書型へ変換—–
json_dict2:

JSON の書き込み

Python で扱った JSON データはファイルに書き込むことができます。ファイルへの書き込
みは json モジュールの dump 関数を使います。dumps ではないので注意してください。

dump は書き込みたい辞書型の変数と、書き込み先のファイルを引数に取ります。JSON 形
式の文字列を通常のファイル書き込みのように write 関数で書き込むこともできますが、辞
書型を書き込みたい場合はこの方法ならいちいち変換しなくても良いのでラクチンです。
それではまとめとして、以下のような json ファイルを読み込み、文字列へ変換した後、も
う一度辞書型にして、別の json ファイルに書き込むという一覧の流れを見てみます。

test.json

実行結果

json_dict:
—–辞書型から JSON 形式の文字列へ変換—–
json_str:
—–JSON 形式の文字列から辞書型へ変換—–
json_dict2:
test2.json
{“book2”: {“year”: 2006, “title”: “Python Developers”, “page”: 650}, “book1”: {“year”: 2005,
“title”: “Python Beginners”, “page”: 399}}

おわりに

いかがでしたか。
最近では多くのAPIがJSONでのやり取りをしているので、JSONの取り扱いは必須です。
ぜひ学習の参考にしてみてください。

【おすすめ記事】

【Python入門】json dumpsで文字列の変換の仕方
【Python入門】jsonデータをアウトプットする方法
【Python入門】JSONをパースする方法

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る