タイトル画像
琴葉茜

今回は「JSON」についての紹介と、「JSON」をPythonで扱うためのライブラリを紹介するね!

琴葉葵

なんか人の名前みたいだね

琴葉茜

「JSON」は「JavaScript Object Notation」を略したもので、JavaScriptっていうプログラミング言語の表記方法を元に作られたデータの形式なんだ

解説画像1
琴葉葵

あれ??そしたら、「JSON」はJavaScript用なんじゃないの??

琴葉茜

あくまで元にしたってだけだから、他のプログラミング言語でも問題なく扱えるよ!

琴葉葵

なるほどね!!ちなみにどんな形式なの??

琴葉茜

「JSON」は、辞書型と配列型を組み合わせたものになってるんだ

解説画像2
琴葉葵

なんだ!そんなに変なデータじゃないんだね!
じゃあ「JSON」を使う意味って何があるの?

琴葉茜

「真偽値」や「何もない状態」については各プログラミング言語によって違うんだけど、それを「これにしましょう!」って統一してくれることかな

概念PythonJavaScriptJSONJavaCC++
True
true
true
1(数値扱い)
False
false
false
0(数値扱い)
何もない
None
null
null
NULL
または
nullptr
琴葉葵

結構プログラミング言語によって表現が違うんだね!
確かにここがバラバラだと他のプログラミング言語で表有する時に処理が面倒になっちゃうもんね

琴葉茜

そういうこと
だけど、1から手作業でJSONに対応する形に変換したり、JSONのデータをPythonで扱える形に変換するのは大変でしょ?

琴葉茜

そこで使うのが、標準ライブラリの「json」だよ!

解説画像3
琴葉葵

ここからが本題...!?

琴葉茜

基本的には「JSON形式の文字列に変換する」か「JSON形式の文字列をPython用に変換する」くらいだから安心してね

関数説明
json.dumps(obj)
PythonのデータをJSON文字列に変換
json.dumps({"name": "Taro"}) → '{"name": "Taro"}'
json.dump(obj, file)
PythonのデータをファイルにJSON形式で書き込む
with open("data.json", "w") as f:
    json.dump(data, f)
json.loads(s)
JSON文字列をPythonのデータに変換
json.loads('{"name": "Taro"}') → {"name": "Taro"}
json.load(file)
JSON形式のファイルを読み込み、Pythonのデータに変換
with open("data.json") as f:
    data = json.load(f)
琴葉葵

ファイルが関わってるかどうかで使い方が変わるくらいだね

琴葉茜

最後に、実際に使うとどうなるか確認してみよう!

解説画像4
琴葉葵

ちゃんと変換できてるね!!

琴葉茜

インターネットから情報を得る時にJSONとしてくれる場合もあるから覚えておくときっと役に立つよ!
例えば「郵便番号検索API」ってサイトではこんな感じ

琴葉葵

おおー!すごい!!
知っておくと便利なことが多そう!!