我試圖將JSON文件轉換爲iCalendar文件。我的主管建議使用兩個函數convertTo(data)(將JSON轉換爲String)和convertFrom(data)(將String轉換爲JSON;我不確定此函數的用途)。將JSON轉換爲.ics(Python)
我目前的方法使用了很多重構和多重功能。
#returns a String
def __convert(data):
convStr = __convertTo(data)
convStr = __fields(convStr)
return convStr
#convert JSON to a String
def __convertTo(data):
str = "" + data
return str
#takes string arg (prev converted from JSON) to split it into useful info
def __fields(data)
#########
iCalStr = __iCalTemplate(title, dtStart, UID, remType, email)
return iCalStr
#
def __iCalTemplate(title, dtStart, UID, remType, email):
icsTempStr = "BEGIN:VEVENT\n
DTSTART:" + dtStart + "\nUID:" + UID + "\nDESCRIPTION:" + desc + "\nSUMMARY:" + title
if remType is not None
icsTempStr += "\nBEGIN:VALARM\nACTION:" + remType + "DESCRIPTION:This is an event reminder"
if remType is email
icsTempStr += "\nSUMMARY:Alarm notification\nATTENDEE:mailto:" + email
icsTempStr += "\nEND:VALARM"
return icsTempStr
任何提示或建議將是非常有益的。我完全知道這個代碼需要很多工作。
這個問題可以通過增加一個例子變得更加清晰;你想轉換爲什麼ics輸出的JSON對象? – Joost 2015-03-31 21:55:41
您是否要求提供代碼建議,或者您是否有具體的錯誤消息或不當行爲?你的代碼是否被編譯? – 2015-03-31 22:28:43
很難確切知道你在這裏做什麼......但__fields()接受一個數據參數,然後不做任何事情。它調用__iCalTemplate幾個參數,這些參數在您所包含的代碼中沒有定義。 __iCalTemplate()是否對某些測試數據有效?如果是這樣,請發佈測試數據和JSON數據的示例。如果不是......先解決這個問題。 – dylrei 2015-03-31 23:17:30