設定
1 |
import json |
と書くと設定できる。
JSONのパース(JSON文字列を変換)
1 |
jsonObj = json.loads(JSON形式の文字列) |
PythonのJSONライブラリがどのように値を扱うか
JSONオブジェクト…辞書
JSON配列…リスト
JSON文字列…文字列
に変換する。
例
1 2 3 4 5 6 |
import json string = ('{"numbers":[{"number":0},{"number":1},{"number":2},{"number":3}],' '"tobaccos":[{"tobacco":"mevius"},{"tobacco":"marlboro"},' '{"tobacco":"luckystrike"}]}') jsonObj = json.loads(string) |
1 |
print(jsonObj.get('numbers')) |
↓出力結果(辞書オブジェクトのリスト)
1 |
[{'number': 0}, {'number': 1}, {'number': 2}, {'number': 3}] |
1 |
print(jsonObj.get('numbers')[1]) |
↓出力結果(辞書オブジェクト)
1 |
{'number': 1} |
1 2 3 |
print(jsonObj.get('numbers')[1].get('number') + jsonObj.get('numbers')[2].get('number') + jsonObj.get('numbers')[3].get('number')) |
↓出力結果(辞書の対応した値(数)を取得して計算)
1 |
6 |
1 |
print(jsonObj.get('tobaccos')[2].get('tobacco')) |
↓出力結果(文字列)
1 |
luckystrike |
1 2 |
import pprint pprint.pprint(jsonObj) |
↓出力結果(改行して見やすく出力)
1 2 3 4 |
{'numbers': [{'number': 0}, {'number': 1}, {'number': 2}, {'number': 3}], 'tobaccos': [{'tobacco': 'mevius'}, {'tobacco': 'marlboro'}, {'tobacco': 'luckystrike'}]} |
辞書の値は[キー]で指定。リストの要素は[インデックス]。ネストした要素は連続して指定。
jsonObj['numbers']
↓出力結果
[{'number': 0}, {'number': 1}, {'number': 2}, {'number': 3}]
jsonObj['numbers'][0]
↓出力結果
{'number': 0}
jsonObj['numbers'][0]['number']
↓出力結果
0