最近在用python的时候发现,python3.5运行的一段代码在python2下面会报错,具体代码片段如下:
ostr = str(thisos[0])
ostr = ostr.replace("\'","\"")
thisjos = json.loads(ostr)
在python2.7下运行时发现强制类型转换得到的ostr的内容是
{'os_name': u'3Com 5500-EI switch', 'os_acc': 92}
而python3.5没有出现这个问题。
另一方面,json.loads接收的字符串在花括号外面还应该有[]符号。
因此代码修改如下:
ostr = str(thisos[0])
ostr = ostr.replace("\'","\"")
ostr = ostr.replace(": u\"",": \"")
ostr = '[' + ostr + ']'
thisjos = json.loads(ostr)
解决,撒花~
网友评论