python2.x json.loads报错ValueError

2017-12-04  本文已影响24人  4v3r9

 最近在用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)

解决,撒花~

上一篇 下一篇

猜你喜欢

热点阅读