実現したい事
- フォーマットや深さが一定でないJSON形式のデータから、キーワードを指定しその配下を抜き出す関数を実装したい
- 一致するキーワードが見つかった場合、再帰処理自体を終了したい
不明点
return文で実装したのですが、キーワードに一致した場合も後続の再帰処理が続いてしまうため、関数の処理自体を終了する方法をご教授下さい
Python
1def extract_json(json_data, target_words): 2 """ 3 指定した項目名をJSONから抜き出す 4 """ 5 6 if isinstance(json_data, dict): 7 for key in json_data.keys(): 8 if json_data[key] is None: 9 continue 10 if key == target_words: 11 return json_data[key] # ★★★キーワードに一致した場合は、ここで関数処理自体を終了したい 12 extract_json(json_data[key], target_words) 13 14 elif isinstance(json_data, list): 15 for item in json_data: 16 extract_json(item, target_words) 17 18# メイン処理 19extract_json(json_data, "target_word")
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。