[Python]JSONパース(parse)の基本(配列、文字列、入れ子)

JSON(JavaScript Object Notation)は、JavaScriptで扱われるオブジェクト表記法を元に作られた軽量なデータ交換形式です。Pythonでは、JSONを扱うための標準ライブラリが用意されており、JSON形式のデータを簡単に扱うことができます。

PythonにおけるJSONの基本的な解析方法

PythonでJSONを解析するには、jsonモジュールを使用します。jsonモジュールには、JSON形式の文字列をPythonオブジェクトに変換するjson.loads()関数や、PythonオブジェクトをJSON形式の文字列に変換するjson.dumps()関数などがあります。

import json
# JSON形式の文字列をPythonオブジェクトに変換
json_str = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_str)
print(data)
# {'name': 'John', 'age': 30, 'city': 'New York'}
# PythonオブジェクトをJSON形式の文字列に変換
data = {"name": "John", "age": 30, "city": "New York"}
json_str = json.dumps(data)
print(json_str)
# {"name": "John", "age": 30, "city": "New York"}

PythonでJSON形式の文字列を解析する方法

JSON形式の文字列をPythonオブジェクトに変換するには、json.loads()関数を使用します。

import json
json_str = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_str)
print(data)
# {'name': 'John', 'age': 30, 'city': 'New York'}

PythonでJSONの配列を解析する方法

JSON形式の配列をPythonオブジェクトに変換するには、json.loads()関数を使用します。

import json
json_str = '[{"name": "John", "age": 30}, {"name": "Mike", "age": 25}, {"name": "Amy", "age": 20}]'
data = json.loads(json_str)
for d in data:
    print(d["name"], d["age"])
# John 30
# Mike 25
# Amy 20

PythonでJSONの入れ子構造(nested objects)を解析する方法

JSON形式の入れ子構造をPythonオブジェクトに変換するには、json.loads()関数を使用します。

import json
json_str = '{"name": {"first": "John", "last": "Doe"}, "age": 30}'
data = json.loads(json_str)
print(data["name"]["first"], data["name"]["last"], data["age"])
# John Doe 30

PythonでJSONをオブジェクトに変換する方法

PythonオブジェクトをJSON形式の文字列に変換するには、json.dumps()関数を使用します。

import json
data = {"name": "John", "age": 30, "city": "New York"}
json_str = json.dumps(data)
print(json_str)
# {"name": "John", "age": 30, "city": "New York"}

PythonでJSONの入れ子構造を作成する方法

PythonオブジェクトをJSON形式の文字列に変換するには、json.dumps()関数を使用します。

import json
data = {"name": {"first": "John", "last": "Doe"}, "age": 30}
json_str = json.dumps(data)
print(json_str)
# {"name": {"first": "John", "last": "Doe"}, "age": 30}

まとめ

PythonでJSONを扱うには、jsonモジュールを使用します。JSON形式の文字列をPythonオブジェクトに変換するには、json.loads()関数を使用し、PythonオブジェクトをJSON形式の文字列に変換するには、json.dumps()関数を使用します。JSON形式の配列や入れ子構造を扱う場合も、同じようにjson.loads()関数やjson.dumps()関数を使用します。