2012-05-18 40 views
0

也許這個問題很愚蠢。python json.loads on str

s="{'x':1}" 
t='{"x":1}' 

json.loads(S)帶來的異常:

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/usr/local/Cellar/python/2.7.3/lib/python2.7/json/__init__.py", line 326, in loads 
    return _default_decoder.decode(s) 
File "/usr/local/Cellar/python/2.7.3/lib/python2.7/json/decoder.py", line 366, in decode 
    obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 
File "/usr/local/Cellar/python/2.7.3/lib/python2.7/json/decoder.py", line 382, in raw_decode 
obj, end = self.scan_once(s, idx) 
ValueError: Expecting property name: line 1 column 1 (char 1) 

而json.loads(t)是正確的:

{u'x': 1} 

有什麼不同?先謝謝你。

回答

4

JSON格式需要數據中的雙引號字符串。