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解析正常

 

posted @ 2024-03-28 17:25  问道编程  阅读(96)  评论(0编辑  收藏  举报