Pythonを使ってWeb APIで取得したJSONファイルの扱い方の説明
そもそもJSONとはJavaScriptのデーターの書き方のことで、JavaScript Object Notationを略してJSONと呼んでいる。
JSONは扱いやすいデータ表現で、JavaScriptだけでなくPythonやJava、PHP、Rudyなど他の多くのプログラミング言語でも利用されています。 そのため多くのWEB APIではJSONが使われている。
書き方は{キー:値}{キー:値,キー:値,・・・}です。キーは文字列で表し、値には数値、文字列、真偽値、配列値、オブジェクト値、null(値が空っぽであることを表す)
JSONデータを読み込む方法
JSONデータを読み込むには、➀「ファイルから読み込む」やり方と➁「ネットから直接JSONデータを読み込む方法」があります。➀ファイルから読み込む
デスクトップに先ほど作った「sample2.json」ファイルを読み込んでみましょう
解説
import json | 標準ライブラリのjsonを読み込むためのライブラリ、jsonをimportします。 |
from pprint import pprint | きれいに整形して表示することができる標準ライブラリのpprintをimportします。 |
with open("test2.json",mode="r") as f: | jsonファイルを読み込む書式です。with open("ファイル名", mode="r") as f: "r"でファイル読み込みモードにしています。 |
jsondata = json.loads(f.read()) | jsonファイルを読み込む書式です。json.loads(f.read()) それを変数jsondataに代入します。 |
pprint(jsondata) | きれいに整形して表示します。 |
JSONデータから値を取得してみよう
解説
import json | 標準ライブラリのjsonを読み込むためのライブラリ、jsonをimportします。 |
from pprint import pprint | きれいに整形して表示することができる標準ライブラリのpprintをimportします。 |
with open("test2.json",mode="r") as f: | jsonファイルを読み込む書式です。with open("ファイル名", mode="r") as f: "r"でファイル読み込みモードにしています。 |
jsondata = json.loads(f.read()) | jsonファイルを読み込む書式です。json.loads(f.read()) それを変数jsondataに代入します。 |
print("2つ目のオブジェクト =",jsondata[1]) | 2番目のオブジェクトを取得します。最初のオブジェクトは配列の最初(インデックス0)から始まります。 |
print("都市名 = ",jsondata[1]["name"]) | 2番目のオブジェクト(1)からnameの値を取得し、表示します。 |
print("緯度 =",jsondata[1]["coord"]["lat"]) | 2番目のオブジェクト(1)からcoordのlat値を取得し、表示します。 |
print("経度 =",jsondata[1]["coord"]["lon"]) | 2番目のオブジェクト(1)からcoordのlon値を取得し、表示します。 |
今回はここまでにしましょう。
次はネットから直接JSONデータを読み込み、データを取り出してみましょう。
こちらからどうぞ*尚、ここではバージョン「Python 3.10.1」を使用しています。
この本を参考に学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが2,000円程ならコスパよく、買っておいてよかったと満足してます。
もっと深く学びたい人にはこちらもどうぞ。| For those who want to learn more deeply, this is also recommended.
キャリアアップに必要なスキルを取得しよう。| Get the skills you need to advance your career.
Pythonエンジニア育成推進協会公式認定スクール | Officially certified school of Python Engineer Development Promotion Association.
ぺージの先頭に戻る(Return to top of page)
©2020年9月 Challenge programming