我知道单引号和双引号在python中都会以相同的方式工作,但为什么它在以下两种情况下表现不同
>>> import json
>>> json.loads('{"M":2}')
{u'M': 2}
并在
>>> json.loads("{'M':2}")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\p\python\lib\json\__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "c:\p\python\lib\json\decoder.py", line 360, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "c:\p\python\lib\json\decoder.py", line 376, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 1 (char 1)
提前致谢
答案 0 :(得分:1)
>>> json.loads('{"M":2}')
{u'M': 2}
返回python字典
JSON只接受双引号。
json.loads("{'M':2}")
这不是有效的JSON。