実際に書いてみる!Pythonでjsonを使う方法 【初心者向け】

初心者向けにPythonでjsonを扱う方法について解説しています。APIなどデータを扱う際に便利なフォーマットで、AIや機械学習を得意とするPythonでは使用頻度も高いでしょう。実際に簡単なプログラムを書いているので、参考にしてみてください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,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で辞書を使う方法も合わせてチェックしておくと良いでしょう。

 

[PR] 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人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

独学に限界を感じている方はぜひご覧ください。