🐍PythonでJSONを扱う基本がわかる!独学を加速させる学習アイテム5選

🐍 PythonでJSONを扱えると「世界とつながるアプリ」が作れる

Pythonでちょっとしたツールが書けるようになってくると、次に立ちはだかるのが「外のサービスとデータをやり取りしたい」という壁です。天気情報を取ってきたい、SNSに自動投稿したい、ChatGPT APIを叩いてみたい——どれもJSONを避けては通れません。

JSONは一見すると「謎の波括弧の塊」に見えますが、仕組みを理解してしまえばPythonの辞書とほぼ同じ感覚で扱えます。今日この基本を押さえておけば、明日からはWeb APIの公式ドキュメントを読んでも「なるほど、こういう構造でデータが返ってくるのか」とスッと頭に入ってくるようになりますよ✨

📦 そもそもJSONって何者?

JSONは JavaScript Object Notation の略で、データを表すための共通フォーマットです。名前にJavaScriptと付いていますが、今ではプログラミング言語を問わず広く使われています。

たとえばPythonで作ったシステムとJavaで作ったシステムが連携したいとき、それぞれの言語で「リスト」や「辞書」の表現方法は違います。日本語しか話せない人とフランス語しか話せない人が会話できないのと同じで、表記がバラバラだとデータのやり取りができません。そこで 共通言語=JSON を間に挟むことで、みんなが英語でコミュニケーションするようにデータを受け渡せるようになる、というわけです🌍

JSONの基本ルール

  • 📌 波括弧 {} でくくり、"キー": 値 をカンマ区切りで並べる
  • 📌 文字列は必ず ダブルクォート(シングルクォートはNG)
  • 📌 「データなし」は null、真偽値は true / false(小文字)
  • 📌 数値はクォートなしでそのまま記述
  • 📌 値の中に配列や入れ子のオブジェクトも入れられる

🛠 PythonでJSONを扱う3つの基本操作

Pythonには標準で json モジュールが組み込まれています。import json と書くだけで、追加インストールなしですぐ使えるのが嬉しいポイントです。

① 辞書 → JSON文字列に変換(dumps)

json.dumps() にPythonの辞書を渡すと、JSON形式の文字列が返ってきます。Web APIにデータを送るときの定番処理ですね。

import json
data = {"item": "apple", "price": 120}
text = json.dumps(data)
print(text) # → {"item": "apple", "price": 120}

② 日本語が文字化けする時の対処

そのまま dumps すると、日本語が \u3055... のようなUnicodeエスケープに変換されてしまいます。これを防ぐには ensure_ascii=False を指定するだけ。

json.dumps(data, ensure_ascii=False)

たったこれだけで「さっぷー」のような全角文字もそのまま読める形で出力されます🎌

③ JSON文字列 → 辞書に変換(loads)

逆に、APIから受け取ったJSON文字列をPythonで扱いやすい辞書に変換するときは json.loads() を使います。

text = '{"id": 123, "is_student": true}'
obj = json.loads(text)
print(obj["id"]) # → 123

外から飛んできた文字列をいったんPythonオブジェクトに「翻訳」してしまえば、あとはいつもの辞書操作で自由自在です💪

⚠️ つまずきやすいポイント

  • 🔸 JSONの文字列はダブルクォート必須。シングルクォートで書くとパースエラーになる
  • 🔸 文字列内にダブルクォートを入れたい時は \" とエスケープする
  • 🔸 バックスラッシュ自体を扱う際はPython側で r"..."(raw文字列)を使うと混乱しにくい
  • 🔸 .json 拡張子の設定ファイルを読み書きするときも、通常のテキストファイル操作と同じ流れでOK

📚 JSONとPythonの理解を一気に深める学習アイテム5選

動画で概要をつかんだら、次は手を動かしながら知識を定着させるフェーズです。机に向かう時間が楽しくなる、独学者の強い味方を厳選しました。

1. 体系的に学べるPython入門書 📖

JSON操作はあくまで「Pythonでできることのひとつ」。辞書・リスト・ファイル操作までしっかり地続きで学べる定番書を1冊持っておくと、つまずいた時に何度も戻ってこられる安心感があります。

2. Web API × Pythonの実践書 🌐

JSONの真価が発揮されるのはWeb API連携。リクエスト送信からレスポンスのパースまで、実例ベースで学べる本があると「動くものを作る楽しさ」を体感できます。

3. データ分析寄りの定番書 📊

取得したJSONデータを集計・可視化したい人には、pandasと組み合わせて学べる本がおすすめ。APIで集めたデータがそのまま分析資料に化けます✨

4. 長時間コーディングを支える昇降デスク 🪑

独学が続くかどうかは、実は「環境」で決まります。座りっぱなしで腰を痛めて挫折する前に、立ち座り切り替えできるデスクを導入すると集中力の持続時間がまるで変わってきます。

5. 静音メカニカルキーボード ⌨️

JSONを書く時は { " : , } と記号の連打になります。タイピングがストレスフリーになるキーボードに変えるだけで、コーディングのテンションが一段上がりますよ。

❓ よくある質問(FAQ)

🤔 Q1. JSONとCSVはどう使い分ければいい?

表形式のシンプルなデータならCSV、階層構造や型情報を保ちたいならJSONが向いています。Web APIの世界では圧倒的にJSONが標準です。

📝 Q2. json.dumpsjson.dump の違いは?

dumps は文字列に変換、dump はファイルに直接書き出します。「s」が付くと「string」と覚えると忘れません。

🈁 Q3. 日本語が \uXXXX になるのを防ぐには?

json.dumps(data, ensure_ascii=False) と指定するだけでOKです。ファイル書き出し時も同じオプションが使えます。

📂 Q4. .json ファイルはどう読み込む?

open() でファイルを開き、json.load(f) に渡すだけ。テキストファイル操作の知識がそのまま流用できます。

🚀 Q5. 次に学ぶべきテーマは?

JSONを扱えるようになったら、requests ライブラリを使ったWeb API連携に進むのがおすすめ。天気APIや翻訳APIなど、無料で試せるサービスから始めるとモチベーションが続きます。

🎯 まとめ

JSONは「アプリと世界をつなぐ共通言語」。Pythonの json モジュールを使えば、辞書とJSON文字列の往復はたった2つの関数(dumps / loads)で完結します。今日学んだ基礎は、これから触るほとんどのWeb APIで必ず役に立つ土台です。

あとは手を動かして経験値を積むだけ。お気に入りの一冊と快適な作業環境を整えて、「APIから取ってきたデータで動くアプリ」を作る未来を一緒に手に入れましょう🚀

あざらし

はじめまして、あざらしです。 フリーターからエンジニア会社へ就職し、 現在はフリーランスのシステムエンジニアとして働いています。 本業のエンジニア業のかたわら、 ✍️ ブログ運営 と「収入の柱を増やす挑戦」を少しずつ続けています。 フリーター時代から比べると、 段階的に収入が増えていくのを実感できるのが素直にうれしい今日この頃。 このブログでは、日々の気づき・体験談 IT・ガジェット・ゲーム系の話 「調べて分かったこと」を噛み砕いた解説 などを中心に、ジャンルに縛られない雑記ブログとして発信しています。 「自分と同じように悩んでいる人のヒントになればいいな」 そんな気持ちで更新中です。 👉 プロフィール詳細は、名前「あざらし」をクリックしてください