【Python学習用(初学者向け)】JSONファイルを扱う jsonモジュール

pythonPython

今回の記事では、Pythonで

JSONファイルを扱うためのjsonモジュール

について記載していきます

こんな方のお役に立てます!
  • フレームワークなどでJSONファイルを扱うようになった
  • JSON形式で記録を残していて自由にデータを出し入れしたい
この記事でわかること
  • JSONファイルの読み込み
  • PythonオブジェクトからJSONへの書き出し

jsonファイルを読み込む

読み込み用ファイル:「sample.json」

[{
         "pk": 1,
         "fields": {
             "title": "Property1",
             "prefecture": "神奈川県",
             "closest_train": "相鉄本線",
             "closest_station": "西谷",
             "walking_from_station": 3,
             "date_of_construction": "1983-03-01"
         }
     },
     {
         "pk": 2,
         "fields": {
             "title": "Property2",
             "prefecture": "神奈川県",
             "closest_train": "相鉄本線",
             "closest_station": "上星川",
             "walking_from_station": 3,
             "date_of_construction": "1987-03-01"
         }
     },
     {
         "pk": 3,
         "fields": {
             "title": "Property3",
             "prefecture": "東京都",
             "closest_train": "田園都市線",
             "closest_station": "二子玉川",
             "walking_from_station": 3,
             "date_of_construction": "2004-10-01"
         }
     }
 ]

【参考】

こちらで正しくJSON形式で書かれているかチェックができます! -> https://jsonlint.com/

コード

import json
with open("sample.json", "r", encoding="utf-8_sig") as f:
    json_data = json.load(f)
    print(f)

※encodeを忘れずに!!

【出力結果】

[{‘pk’: 1, ‘fields’: {‘title’: ‘Property1’, ‘prefecture’: ‘神奈川県’, ‘closest_train’: ‘相鉄本線’, ‘closest_station’: ‘ 西谷’, ‘walking_from_station’: 3, ‘date_of_construction’: ‘1983-03-01’}}, {‘pk’: 2, ‘fields’: {‘title’: ‘Property2’, ‘prefecture’: ‘神奈川県’, ‘closest_train’: ‘相鉄本線’, ‘closest_station’: ‘上星川’, ‘walking_from_station’: 3, ‘date_of_construction’: ‘1987-03-01’}}, {‘pk’: 3, ‘fields’: {‘title’: ‘Property3’, ‘prefecture’: ‘東京都’, ‘closest_train’: ‘田園 都市線’, ‘closest_station’: ‘二子玉川’, ‘walking_from_station’: 3, ‘date_of_construction’: ‘2004-10-01’}}]

json.loads()

ファイルの読み出しではなく、Pythonオブジェクトの読み出しでは、

json.loads()

と「s」をつけたメソッドを使います

pythonオブジェクトをjson形式に変換

Pythonオブジェクト

data = [{"id": 1, "name": "yu"}, {"id":2, "name": "python"}]

json.dumps(data)

【出力結果】

‘[{“id”: 1, “name”: “yu”}, {“id”: 2, “name”: “python”}]’

まとめ

正しいJSON形式かどうかを、

The JSON Validator
JSONLint is the free online validator and reformatter tool for JSON, a lightweight data-interchange format.

で調べよう!

ファイル形式の場合は、

load, dump

など「s」をつけない

Pythonオブジェクトの場合は、

loads, dumps

「s」をつけます

当ブログでは、日報アプリ開発を通じて、Webアプリを一から開発し公開するまでを初学者の方でもわかるようにと記事を連載しています

「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」

という方は必見です!

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!
タイトルとURLをコピーしました