投稿日: | 最終更新日:
実は簡単!JSON形式データを扱う方法
WEBアプリ開発者にとってJSONデータは避けて通れない存在です。今回は、このJSONデータをざっくり紹介します。
JSONとは?
JSONとはJavaScript Object Notationの略です。JavaScriptの書き方に寄せて書いてあるデータファイルという意味です。
実際には、以下のようなデータです。
{ "scorelist":[ { "Subject":"English", "score": 80, "grade":"A" }, { "Subject":"Math", "score": 70, "grade":”B" } ] }
※サンプルは英語表記ですが、日本語(漢字)もデータとして利用できます。
準備
当サイトでは、Vagrantでゲスト環境(仮想環境)を作ってPythonを動かいていますが、それ以外の環境でも操作方法はだいたい同じです。
①Pythonをインストールします。
環境
OS | CentOS 7.1.1503 |
---|---|
pyenv | 1.1.3-5-g7dae197 |
Python | 3.6.5 |
※OSはCentOS7ですが、Python3が使えればWindowsでももちろんMacOSでもOKです。
JSONファイルのルール
JSONファイルの書き方のルールは以下の通りです。
- 文字列は””あるいは’’で囲う
- key(名前)とvalue(値)を:で対にして記述
- key(名前)とvalue(値)のまとまり毎に{}で囲う
- まとまりのなかのkey:valueは,で区切る
- リスト全体を[]で囲う
データを扱うファイルはJSONの他にもXMLなどがあります。私の個人的な意見かもしれませんが、JSONのほうがご覧の通り可読性が高いです。JSONの強みは、人間にも読みやすく、機械にも読み込ませることができることです。
JSONファイルのルール
Pythonでは、JSONデータを扱うためのメソッドが多数あります。ただし、Pythonで読み込ませるためにはPythonなりにデータをパース(解析)しなければなりません。パースすることにより、Pythonで扱えるようになり、他のファイルに書き込んだり、好きなデータを取得できるようになりあます。
具体的なパースの手順としては以下のようになります。
- JSONデータを読み込む
- 必要な情報を取り出す
- 他のファイルに書き込む
JSONデータ読み込み
PythonでJsonデータを読み込むには、json.load関数を使います。
①pythonから先ほどのsample.jsonを以下のコードで読み込みます。
import json a = open('sample.json') b = json.load(a) print (b)
以下のような実行結果が出力されます。
{'scorelist': [{'Subject': 'English', 'score': 80, 'grade': 'A'}, {'Subject': 'Math', 'score': 70, 'grade': 'B'}]}
解説
import json
まず1行目でjsonをライブラリをインポートします。
a = open('sample.json')
その後2行目で、jsonファイルを開きます。
b = json.load(a)
そして3行目に引数として、jsonの入ったaを渡し読み込みます。
辞書型
load関数にて読み込まれたJSONデータはdictionary(辞書)型にて保存されます。辞書型とは、「{}」の中にkeyとvalueの組み合わせが含まれているPythonのデータです。
{key1:value1,key2:value2,key3:value3}
※各要素を取り出したい時はkeyを指定して取り出すことができます。
JSONデータを書き込み
他のファイルにJSONデータを書き込みます。JSONデータを書き込むには、json.dump関数を使います。
import json dic = { "profile1": { "first" : "Aaron" , "last" : "Campbell" } , "profile2" : { "fisrt" : "Ben" , "last" : "Edwards" } } a = open('sample2.json' , 'w') json.dump(dic,a)
解説
import json dic = { "profile1": { "first" : "Aaron" , "last" : "Campbell" } , "profile2" : { "fisrt" : "Ben" , "last" : "Edwards" } }
空のdic変数に辞書型のデータを入れます。(これがJSONデータとなります。)
a = open('sample2.json' , 'w')
空のsample2.jsonを開きます。事前に作っていなくても自動で現在のディレクトリにファイルが作成されます。’w’は書き込みの権限を与えるという意味です。
json.dump(dic,a)
json.dump(書き込まれるjson,書き込むjson)の順に記載して実行します。
JSONデータの中身を確認
コマンドラインを用いて、JSONの中身を確認します。今まではパースしてJSONを確認してきました。しかし少量のJSONをいちいち解析するのは正直めんどくさいときは、一発で中身を見やすく表示してくれるjson.toolというコマンドを紹介します。
①以下のコマンドを実行します。
python -m json.tool sample2.json
②以下の結果が表示されます。
{ "profile1": { "first": "Tarou", "last": "Tanaka" }, "profile2": { "fisrt": "Hanako", "last": "Yamada" } }
まとめ
今回のまとめです。PythonでJSONは、以下のように操ることができます。
- JSONとはjsをベースに書かれた可読性の高いデータファイル
- JSONを読み込むには、openで開いてから、json.load関数を使う。
- JSONを書き込むには、json.dump関数を使う。
- 簡単な内容の場合には、コマンドラインからjson.toolを実行。
次回
- Python 114
- 制作 54
- RaspberryPi 41
- Django 40
- WordPress 40
- Linux 27
- VPS 22
- JavaScript 21
- PHP 20
- HTML・CSS 19
- AWS 16
- 仮想環境 15
- レスポンシブデザイン 13
- マイコン 11
- WEB全般 11
- 動画製作 9
- Webサービス 8
- 統合開発環境 8
- 機械学習 8
- PyCharm 7
- jQuery 7
- AfterEffects 7
- 起業・設立 7
- Django REST framework 6
- C# 6
- デザイン 6
- SEO 6
- pydata 6
- Visual Studio 5
- 数学 5
- 携帯サイト 5
- heroku 5
- Mac 5
- illustrator 5
- node.js 5
- Anaconda 5
- Nginx 4
- Jupyter Notebook 4
- インフラ 4
- Google Colaboratory 4
- symfony 4
- Webスクレイピング 3
- photoshop 3
- Go言語 3
- PC 3
- ツール 3
- Docker 3
- facebook 3
- 作業効率化 3
- データベース 3
- Cloud9 3
- コマンド 2
- micro:bit 2
- Kali Linux 2
- Webサーバー 2
- MariaDB 2
- ドローン 2
- コンテナ 2
- DaVinci Resolve 2
- ネットワーク 2
- Java 2
- movie 2
- PCDJ 2
- 音楽 2
- XSERVER 2
- Ansible 1
- Vue.js 1
- JSON 1
- Bootstrap 1
- バージョン管理システム 1
- SSL 1
- S3 1
- ムームードメイン 1
- ネットワーク 1
- アニメーション 1
- D3.js 1
- Rhino 1
- アニメ 1
- git 1
- windows 1
- アクセス解析 1
- スマートフォン 1
- アフィリエイトノウハウ 1
- 知識 1
- TypeScript 1
- 役立つ本・書籍 1
- データサイエンス 1
- ESP32 1
- AI 1
- ownCloud 1
- API 1