Python JSONをディクショナリにする(json.loads/load)

PythonのJSONをディクショナリ(辞書)にデコードするサンプルです。

確認環境
・Python 3.7.2

目次

json.loads関数

json.loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
  • json.loads関数は、JSONをディクショナリにデコードします。
  • 1つめの引数にJSON文字列を指定します。
  • 2つめ以降の引数は省略可能です。
  • 先頭にimport jsonの記述が必要です。
  • 以下は、Python 3.7.3ドキュメントのJSON エンコーダおよびデコーダのリンクです。
    https://docs.python.org/ja/3/library/json.html

JSONをディクショナリにデコードする

JSONをディクショナリにデコードするサンプルです。

# coding: utf-8
import json

a = '{"color1":"赤","color2":"青"}';

b = json.loads(a);

print(b) #{'color1': '赤', 'color2': '青'}

print (b.keys()) #dict_keys(['color1', 'color2'])
print (b.values()) #dict_values(['赤', '青'])

print (b["color1"]) #赤
print (b.get("color2")) #青

4行目は、JSON文字列です。
6行目は、json.loads関数でデコードしています。
8行目は、ディクショナリを表示しています。
10行目は、ディクショナリのキーを表示しています。
11行目は、ディクショナリの値を表示しています。
13,14行目は、ディクショナリのキーを指定して値を表示しています。

json.load関数

json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
  • json.load関数は、ファイルにあるJSONをディクショナリにデコードします。
  • 1つめの引数にファイルから読み込んだ変数を指定します。
  • 2つめ以降の引数は省略可能です。
  • 先頭にimport jsonの記述が必要です。
  • 以下は、Python 3.7.3ドキュメントのjson.loadのリンクです。
    https://docs.python.org/ja/3/library/json.html#json.load

ファイルのJSONをディクショナリにデコードする

ファイルのJSONをディクショナリにデコードするサンプルです。

読み込むファイルのJSONです。

{
    "color1": "赤",
    "color2": "青"
}

上記ファイルを読み込むコードです。

# coding: utf-8
import json

a = open('test1.json', 'r')

b = json.load(a);

print(b) #{'color1': '赤', 'color2': '青'}

print (b.keys()) #dict_keys(['color1', 'color2'])
print (b.values()) #dict_values(['赤', '青'])

print (b["color1"]) #赤
print (b.get("color2")) #青

4行目は、open関数でファイルを開いています。
6行目は、json.load関数でデコードしています。
8行目は、ディクショナリを表示しています。
10行目は、ディクショナリのキーを表示しています。
11行目は、ディクショナリの値を表示しています。
13,14行目は、ディクショナリのキーを指定して値を表示しています。

関連の記事

Python リストの仕組みと使い方のサンプル(list)
Python タプルの仕組みと使い方のサンプル(tuple)
Python ディクショナリの仕組みと使い方(dictionary)
Python テキストファイルの読み込みと書き込みのサンプル
Python JSONをディクショナリにする(json.loads/load)

△上に戻る