import json class JSONProcessor: def __init__(self, input_file: str, output_file: str) -> None: self.input_file: str = input_file self.output_file: str = output_file self.data = None def load_json(self) -> None: with open(self.input_file, 'r') as file: self.data = json.load(file) def extract_symbols(self) -> list: if self.data is None: raise ValueError("data not loaded. call load_json() first.") quotes = self.data['finance']['result'][0]['quotes'] return [quote['symbol'] for quote in quotes] def save_json(self, data: list) -> None: with open(self.output_file, 'w') as file: json.dump({'symbols': data}, file, indent = 4) print(f'saved: {self.output_file}') def main(): input_file = './postman/response.json' output_file = './postman/symbols.json' processor = JSONProcessor(input_file, output_file) processor.load_json() symbols = processor.extract_symbols() processor.save_json(symbols) if __name__ == "__main__": main()