本記事について
この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。
JSON
- 軽量のデータ交換フォーマット
- 多くのプログラミング言語で使われている。データ交換に便利
- JSONの紹介
JSON | Python | 表現方法 | 例 |
---|---|---|---|
object | dict | {"key":value, "key": value ...}のように記述 | {"apple":150, "orange":120} |
array | list / tuple | [1, 2, 3 ...]のように記述 | ["apple", 100] |
string | str | ダブルクォートで括る | "apple" |
number | int / float | 数字 | 25 |
true / false | True / False | trueかfalse | true |
null | None | null | null |
# 辞書型の階層的なデータ
company = \
{
"department": {
"Information Technology": {
"floor": "3rd",
"person": {
"Sato Taro": "Manager",
"Suzuki Hanako": "Software Engineer"
}
},
"Human Resources": {
"floor": "2nd",
"person": {
"Takahashi Akiko": "Manager",
"Tanaka Kentaro": "Administrator"
}
},
"Sales": {
"floor": "1st",
"person": {
"Ito Jiro": "Manager",
"Kimura Takuya": "Sales person"
}
}
}
}
import json
company_json = json.dumps(company)
company_json # jsonフォーマットの文字列になる
- ファイルに保存する
with open('company.json', "w") as f: # ファイルcompany.jsonに保存
json.dump(company, f)
- ファイルから読み込む
with open('company.json', 'r') as f: # ファイルcompany.jsonから読み込む
company = json.load(f)
print(company)
type(company) # 辞書型になっているか確認
- 読み込んだ後は普通にPythonのデータ型で処理できる
# 階層的に表示する
for c in company:
print(c)
for d in company[c]:
print('\t|-->', d)
for i in company[c][d]:
if i == 'floor':
print('\t\t|-->', i, company[c][d][i])
else:
print('\t\t|-->', i)
for j in company[c][d][i]:
print('\t\t\t|-->', j, company[c][d][i][j])
参考