JSON(JavaScript的不同或Python)only allows double-quoted strings。
>>> print json.loads('["hi","bye"]')
[u'hi', u'bye']
>>> print json.loads("['hi','bye']")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
正因爲如此,而且因爲Python更傾向於使用單 -quoted字符串,Python對象的repr()
幾乎總是無效 JSON。您必須改用json.dumps()
。
>>> v = ["hi", "bye"]
>>> repr(v)
"['hi', 'bye']"
>>> json.dumps(v)
'["hi", "bye"]'
'list1'不是JSON格式 –
因爲他們沒有有效的JSON ... HTTP://www.json.org/,JSON字符串應該用雙引號'打印json.loads(「{ 「流派」:[「動作」,「喜劇」]}')' – danidee