关于字符串列表与列表的转换

在研究webService的时候,须要将参数列表化,如将'["123","456"]'转化为["123","456"],须要使用到json.loads()python

因为python并不怎么区分" 和 ', 因此本人历来都是用',由于不用按shift。(懒癌晚期)web

可是在json这个库中,若是不加区分,会出现问题,以下图:json

print json.loads("['123','456']")
# print json.loads('["123", "123"]')

执行后会报错:flask

 C:\Python27\python.exe E:/repository/flask_webService/test.py
Traceback (most recent call last):
  File "E:/repository/flask_webService/test.py", line 22, in <module>
    print json.loads("['123','456']")
  File "C:\Python27\lib\json\__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\lib\json\decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\lib\json\decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

可是执行下面的语句:函数

# print json.loads("['123','456']")
print json.loads('["123", "123"]')

显示结果为code

C:\Python27\python.exe E:/repository/flask_webService/test.py
[u'123', u'123']
Process finished with exit code 0

最后总结就是,若是使用json.loads()这个函数,须要在待转换字符串中使用双引号。字符串

相关文章
相关标签/搜索