実際に書いてみる!Pythonでjsonを使う方法 【初心者向け】
初心者向けにPythonでjsonを扱う方法について解説しています。APIなどデータを扱う際に便利なフォーマットで、AIや機械学習を得意とするPythonでは使用頻度も高いでしょう。実際に簡単なプログラムを書いているので、参考にしてみてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、Pythonでjsonを使う方法を解説します。
jsonを使って実際にデータを読み込む流れを簡単なプログラムを書いて説明しているので、読み進めてみてください。APIなどデータを扱う際に便利なフォーマットなので、他の言語でも使用できます。
なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。
jsonとは
jsonとはJavaScript Object Notationの略称です。一般的にはjsonという略称で使用します。
RFC 7159とECMA-404によって定義された軽量のデータ交換用のフォーマットです。
JavaScriptの表記方法で使用しますが、様々なデータとして利用できる非常に汎用性の高いデータです。
jsonデータの例
jsonデータはオブジェクトと配列により構成され次のような表記で柔軟に表記することが可能です。
最初と最後は{ }波括弧で囲みます。
今回はPythonコースとオリジナルコースの2種類のデータに対して、それぞれ共有の目的と期日と費用というデータを格納しています。
2行目の“Python”:{と、7行目の “Original”:{で、コース名として2種類のデータを指定しています。
{“KEY”:‘VALUE’,“KEY”:‘VALUE’}という用に「:」コロンを使用してKEYとVALUEを対に指定します。データ同士の区切りは一般的に「,」カンマを使用します。
今回の次のjsonデータはTAB2文字を使用したインデントで視認性を高めていますが、インデントせずともjsonは作成可能です。
{ "Python":{ "目的": "AI機械学習", "期日": 2018, "コース": "Python機械学習" }, "Original":{ "目的": "Python起業コース", "期日": 2017 , "コース": "起業Webサービス" } }
また、Pythonではjsonデータは自動的に辞書型で扱われます。Pythonで辞書を使う方法も合わせてチェックしておくと良いでしょう。
Pythonでjsonデータを読み込む方法
import json 変数1 = open(‘jsonファイルパス’ , ‘r’) 変数2 = json.load(変数1)
1行目のimport jsonでは、importを使用し、jsonを扱えるようにjsonモジュールをimportします。Pythonでimportを使う方法も合わせて紹介しています。
2行目の変数1 = open(‘jsonファイルパス’ , ‘r’) では、jsonファイルパスで指定されたjsonファイルを読み込む(r)ために開く(open)した内容を、変数1に代入します。
3行目の変数2 = json.load(変数1)では、変数1にの内容をjsonモジュールのloadメソッド利用して読み込んだ後、変数2に代入します。
Pythonでjsonデータを読み込んでみよう
今回はjsonデータをプログラム内に書き込むためopenしません。
jsonを読み込み表示するプログラムソースコード
import json techacademy = ''' { "Python":{ "目的": "AI機械学習", "期日": 2018, "コース": "Python機械学習" }, "Original":{ "目的": "Python起業コース", "期日": 2017 , "コース": "起業Webサービス" } } ''' school = json.loads(techacademy) print('Pythonを学習してAIエンジニアになる:{}'.format(school['Python']))
表示結果
Pythonを学習してAIエンジニアになる:{u'期日': 2018, u'目的': u'AI機械学習', u'コース"': u'Python機械学習'}
1行目のimport jsonではjson処理を行うjsonモジュールをimortしています。Pythonでimportを使う方法はこちらです。
2行目の変数techacademyにjsonデータを代入します。
その後、school = json.loads(techacademy)では、techacademyのデータをjsonモジュールのloadsメソッドで読み込んだ後、変数schoolに代入します。
そして、print(‘Pythonを学習してAIエンジニアになる:{}’.format(school[‘Python’]))では、school[‘Python’]で最初のjsonデータのkeyにあたるPythonを指定して、formatを使って、’Pythonを学習してAIエンジニアになる:の文字列に組み込んでいます。Pythonでformatを使う方法はこちらです。
最後に、print文で表示しています。
今回はPythonでjsonを使う方法を解説しました。
入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。
また、オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。
初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。
独学に限界を感じている方はぜひご覧ください。
実は私も!?独学で損する人の特徴
「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ
独学には向き不向きがあり、実はスクールが向いている人も大勢います。
そんな方のために参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
- ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
- ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、
スクールが向いているかもしれません。
お試しのつもりで、まずは一度
無料相談
に参加してみませんか?
現役エンジニア・デザイナーに何でも気軽に相談できる30分
を
すべて無料で
できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。
小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。 |

プログラミングを独学していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
厳しい試験を通過した講師
があなたの相談に真摯に向き合います。
「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」
こんな気持ちでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)