JSONの深さを見つける

JSONオブジェクトは、データの保存や通信で広く使われている人気のデータ形式です。シンプルで読みやすく、多くの言語で解析や生成が可能です。この形式は基本的にkey:valueペア(辞書のようなもの)の無順序な集合です。key:valueペアは次のような形を取ります:
"key": value
"key"valueはどちらも有効なJSONデータ型であれば何でも構いません。これらのペアはカンマで区切られ、波括弧{ }で囲まれてオブジェクトを形成します。値として別のJSONオブジェクトを持つこともでき、これによりJSONオブジェクトの深さが増します。
あなたのタスクは、JSONオブジェクトを引数として受け取り、そのオブジェクトの最大の深さを返すPython関数calculate_depthを作成することです。
JSONオブジェクトは文字列として与えられます。簡単のため、JSONオブジェクトは正しくフォーマットされており、すべてのキーは文字列であると仮定して構いません。しかし、値は文字列、数値、ブール値、null、または他のJSONオブジェクト(ネストされた辞書として表現)である可能性があります。
PythonでJSON文字列を辞書に変換する方法は?
Pythonでは、jsonモジュールを使ってJSONオブジェクトの文字列をPythonの辞書に変換できます:
import json

json_string = '{"name": "John", "age": 30, "city": "New York"}'

# json.loads()を使って文字列を辞書に変換
dict_obj = json.loads(json_string)

print(dict_obj)
# 出力: {'name': 'John', 'age': 30, 'city': 'New York'}
この例では、json.loads(json_string)を使ってjson_stringをPythonの辞書に変換しています。loads関数は「load string(文字列を読み込む)」の略です。この辞書は他の辞書と同様にPythonプログラムで使用できます。
あなたの関数は1つの整数、すなわち入力されたJSONオブジェクトの最大の深さを返すべきです。深さはネストされたJSONオブジェクトの最大レベルとして定義されます。トップレベルのJSONオブジェクトは深さ1を持ち、他のJSONオブジェクト内のJSONオブジェクトは深さ2を持つ、というように進みます。
入力
出力
{ "name":"John", "age":30, "city":"New York"}
1
{ "name":"John", "age":30, "city": { "name": "New York", "population": 8000000 }}
2
{ "name":"John", "details": { "age":30, "city": { "name": "New York", "population": { "year2023": 8000000, "year2022": 7900000 }}}}
4
注意: 深さはkey:valueペアの数ではなく、ネストされたJSONオブジェクトの最大レベルによって定義されます。
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue