def detect_json_array_to_new_message_array(fileName): ''' message_type 判斷器 讀取指定的 json檔,解析成不同格式的 SendMessage ''' with open(fileName, 'r', encoding='utf8') as f: jsonArray = json.load(f) newmessage_Array = [] for jsonObject in jsonArray: message_type = jsonObject.get('type') if message_type == 'text': newmessage_Array.append(TextSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'sticker': newmessage_Array.append(StickerSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'image': newmessage_Array.append(ImageSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'video': newmessage_Array.append(VideoSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'audio': newmessage_Array.append(AudioSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'location': newmessage_Array.append(LocationSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'imagemap': newmessage_Array.append(ImagemapSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'template': newmessage_Array.append(TemplateSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'flex': newmessage_Array.append(FlexSendMessage.new_from_json_dict(jsonObject)) return newmessage_Array
def detect_json_array_to_new_message_array(fileName): # 開啟檔案,轉成json with open(fileName, 'r', encoding="utf-8") as f: jsonArray = json.load(f) # 解析json returnArray = [] for jsonObject in jsonArray: # 讀取其用來判斷的元件 message_type = jsonObject.get('type') # 轉換 if message_type == 'text': returnArray.append(TextSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'imagemap': returnArray.append(ImagemapSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'template': returnArray.append(TemplateSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'image': returnArray.append(ImageSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'sticker': returnArray.append(StickerSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'audio': returnArray.append(AudioSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'location': returnArray.append(LocationSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'flex': returnArray.append(FlexSendMessage.new_from_json_dict(jsonObject)) elif message_type == 'video': returnArray.append(FlexSendMessage.new_from_json_dict(jsonObject)) # 回傳 return returnArray