{category}

Python - データ交換

json

ジェイソン(標準ライブラリ

意味 データ交換フォーマット


jsonとは?

jsonモジュールは、PythonのデータとJSON形式のデータを変換する機能を提供します。JSONは人間にとっても読み書きしやすく、機械にとっても解釈しやすいデータフォーマットです。

jsonの具体的な使い方

JSON変換と復元例

import json

# Pythonオブジェクトを定義
data = {
    '名前': '山田太郎',
    '年齢': 30,
    '趣味': ['読書', '映画鑑賞', 'プログラミング'],
    '住所': {
        '都道府県': '東京都',
        '市区町村': '渋谷区'
    }
}

# PythonオブジェクトをJSON文字列に変換
json_str = json.dumps(data, ensure_ascii=False, indent=2)
print('JSON文字列:')
print(json_str)

# JSON文字列をPythonオブジェクトに復元
reconstructed_data = json.loads(json_str)
print('\n復元されたPythonオブジェクト:')
print(reconstructed_data)

# 特定のデータにアクセス
print(f"\n名前: {reconstructed_data['名前']}")
print(f"趣味の1つ目: {reconstructed_data['趣味'][0]}")
print(f"住所の都道府県: {reconstructed_data['住所']['都道府県']}")

👇出力結果

JSON文字列:
{
  "名前": "山田太郎",
  "年齢": 30,
  "趣味": [
    "読書",
    "映画鑑賞",
    "プログラミング"
  ],
  "住所": {
    "都道府県": "東京都",
    "市区町村": "渋谷区"
  }
}

復元されたPythonオブジェクト:
{'名前': '山田太郎', '年齢': 30, '趣味': ['読書', '映画鑑賞', 'プログラミング'], '住所': {'都道府県': '東京都', '市区町村': '渋谷区'}}

名前: 山田太郎
趣味の1つ目: 読書
住所の都道府県: 東京都

この例では、Pythonの辞書オブジェクトをJSON形式に変換し、その後JSON文字列をPythonオブジェクトに復元しています。 1. `json.dumps()`関数を使用して、PythonオブジェクトをJSON文字列に変換します。`ensure_ascii=False`オプションで日本語などの非ASCII文字をそのまま出力し、`indent=2`で整形されたJSONを出力します。 2. `json.loads()`関数を使用して、JSON文字列をPythonオブジェクトに復元します。 3. 復元されたオブジェクトから特定のデータにアクセスする方法も示しています。 この例を通じて、PythonとJSON間のデータ変換の基本的な使い方を理解できます。

jsonに関するよくある質問

Q. JSONとは何ですか?
A. JSONは「JavaScript Object Notation」の略で、データを表現するためのテキストベースの形式です。人間にとって読み書きしやすく、機械にとっても解析しやすいため、データ交換の標準フォーマットとして広く使用されています。
Q. PythonでJSONを扱う利点は?
A. Pythonの標準ライブラリにjsonモジュールが含まれているため、追加のインストールなしでJSONデータを簡単に扱えます。また、PythonのデータとJSONデータの変換が容易で、Webアプリケーションやデータ分析など様々な場面で活用できます。
Q. dumps()とloads()の違いは?
A. json.dumps()はPythonのデータ構造(辞書、リストなど)をJSON形式の文字列に変換します。一方、json.loads()はJSON形式の文字列をPythonのデータ構造に変換します。つまり、dumps()はエンコード、loads()はデコードの役割を果たします。

jsonが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのjsonやthreading.Thread、datetime、inspect、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Pythonを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

threading.Thread

並列処理実行

種類: マルチスレッド

datetime

日付と時刻を扱う

種類: 日付と時間

inspect

コードの内部情報取得

種類: デバッグ

ipython

Pythonを拡張した対話環境

種類: インタラクティブ環境

False

種類: 真偽値