我有一個接收格式化爲一個python字典蟒蛇AST VS的JSON字符串str的字典翻譯
"{'a':'1','b':'2',...}"
,我需要轉換爲正確的字典字符串的一段代碼。
我已經嘗試了兩種方法,使用json.loads(s)
和 AST似乎更強大,接受任何形式的字符串中引號和「只是工作」,而JSON似乎是對報價細節和止跌非常挑剔」不能僅以單一格式的報價格式失敗。我真的希望儘可能靈活地使用輸入,因此寧願使用ast
,但是,我的一些同事聲稱它可能不是一個「安全」的模塊和功能。
任何人都可以建議ast和ast.literal_eval()的安全性,特別是與json.loads()相比?
感謝
報價是真的像你的問題?單引號不匹配。 – 2012-10-04 20:12:36
你是對的,讓我解決這個問題... – dyasny
如果數據源是JSON,只能使用'json.loads'。如果它只是一個'repr(python_dict)',那麼即使它有時會起作用,它在語義上也是不正確的。 – agf