一.最近在寫接口測試腳本時,發現當讀取Excel用例時,有時候要用eval,有時候又要用json.loads,不知道區別,只能換一下就可以用了,不知道其中的原理,特地百度了下。於是就記錄了下,以便后續查看。
1、json.loads與eval都能將s轉成python中的對象,json.loads將json中的字符串轉成unicode(types.UnicodeType),eval轉成了str(types.StringType)。
2、json不認單引號,json中的字符串需要用雙引號包起來
對於第一點,我的理解是后者就變成了字符串類型,前者不太懂,希望看到我這篇博客的大佬解釋下
>>> import json >>> s = '{"one":1,"two":2}' >>> json.loads(s) {u'two': 2, u'one': 1} >>> eval(s) {'two': 2, 'one': 1}