JSON形式とはなんなのか無視してたけど向き合った
拡張子.jsonっていうのがよく出てくる。
「なんか設定とか書いてるやつでなんかやるときに付いてくるややこしい大人のファイル」という認識で
私なんかに理解できるわけない、と思い
ほぼ無視してました。
理解せぬまま見よう見まねでちょろっといじったりしてて、
ずーっと気になったまま放置してた。
やっと向き合う気になったので、
ここに記しておく。
JSONとは
「JavaScript Object Notation」の略でデータ定義言語らしいです。
……えーっと、ちょっとよく分からないんですが
XMLとかありますよね。
私はこれも無視し続けてたんですが、
これもデータ定義言語。
最近ではJSONが使われるケースが増えてるってことです。
「JavaScript」と名前に付くくらいなので、
JavaScriptに深い関連がありそう。
JSに触れたことがある人は中身を見たらすぐにどういうものか分かるはず。
JSON記述方法
JavaScriptと変わりなく書けます。
Pythonで言うところの辞書型。
{ “title”: "プログラミングに足を突っ込む30女", “writer": “satsukiin”, “age”: “30s” }
こんな感じでオブジェクトは全体を{}で囲んで
“キー名”:”値” と表記する。
要素同士は「 , 」で区切る。
例えば…
{ “user1”: { “name”: “団長”, “age”: 45, “gender”: “男” }, “user2”: { “name”: “クロ”, “age”: 42, “gender”: “男” }, “user3”: { “name”: “ヒロ”, “age”: 42, “gender”: “男” } }
某大サーカス団とは一切関係ありません、偶然です
としておけば、
団長とクロとあともう1人誰だっけ?
となっても、
user3のnameを指定すればちゃんともう1人の名前が出てくるわけです。
我ながら分かりにくい例え。
ちなみに配列も
[]で囲んで「 , 」で区切れば入れ込めます。
JSONをPythonに読み込んで使う
JSONデータの読み込み
まず最初にJSONを使うライブラリをインポート。
import json
他のライブラリもだけど、
importは最初に書いておく。
そして、
a = open( ‘yasuda.json’ ) b = json.load( a ) print( b ) #実行結果▼ #{“user1”: {“name”: “団長”,“age”: 45,“gender”: “男”},“user2”: {“name”: “クロ”,“age”: 42,“gender”: “男”},“user3”: {“name”: “ヒロ”,“age”: 42,“gender”: “男”}}
yasuda.jsonに深い意味はありません。
最初のopenでファイルを開いてaに代入。
次でaに入ったJSONをロードします。
プリントすると、ちゃんとyasudaが出てきます。