Python 字符串转为字典的两种常用方式(接口交互时)
结论:
在做接口时,请求、响应信息,必须要用json格式
原因:
常规的字符串转为字典有两种方式,但两种方式都存在一定的问题:
1、ast.literal_eval()
(包含 eval等类型方法)
问题1:安全性,(literal_eval安全性好一些,eval不安全)
问题2:需要将字符串中的 true false null =》 True False None,但是这个转换,有可能会将key或value字符串中的部分内容,进行转换,导致数据发生变化
2、json.loads()
问题1:需要将字符串中的单引号转为双引号,不然会报错:
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
问题2:不能存在非json的value,如True、False、None,不然会报错:
json.decoder.JSONDecodeError: Expecting value: line 1 column xxx (char xxx)
所以,如果明确接口的交互为json格式,就能保证使用json解析正常
问道,问道,道法自然,编程亦然。
作者:问道编程
浏览本文,如有些许收获,请点击推荐。
本站使用「署名 4.0 国际」创作共享协议,码字不易,如需转载或引用,需在文章明显位置注明作者及本文链接。