2013-02-20 25 views
0

我是新来的蟒蛇,我敢肯定,我做的事情很愚蠢..试图字符串转换为JSON在Python

我有一个字符串:

s = '{"l":1,"oE":{"n":"name","rN":["1","2","3","3","5","6","7","8","9","10"],"dir":"out","ed":["1","1","1","1","1","1","1","1","1","1"]}' 

我做了JSON。 (s)

但是我收到一个错误?

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/json/__init__.py", line 328, in loads 
    return _default_decoder.decode(s) 
    File "/usr/lib/python2.7/json/decoder.py", line 365, in decode 
    obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 
    File "/usr/lib/python2.7/json/decoder.py", line 381, in raw_decode 
    obj, end = self.scan_once(s, idx) 
ValueError: Expecting , delimiter: line 1 column 72 (char 72) 
+1

rN中的最后一个元素缺少一个报价,并且oE没有右括号 – raser 2013-02-20 22:23:32

回答

2

您在代码中缺少引号。也是一个右大括号。相反的:

s = '{"l":1,"oE":{"n":"name","rN":["1","2","3","3","5","6","7","8","9","10],"dir":"out","ed":["1","1","1","1","1","1","1","1","1","1"]}' 

使用

s = '{"l":1,"oE":{"n":"name","rN":["1","2","3","3","5","6","7","8","9","10"],"dir":"out","ed":["1","1","1","1","1","1","1","1","1","1"]}}' 

您可以从您的堆栈跟踪想出解决办法:

ValueError: Expecting , delimiter: line 1 column 72 (char 72) 

如果你看一下在该行的第72个字符,你会看到这就是错误发生的地方。

+0

@Wilduck ..虽然现在仍然有错误在列130 :( – user2052251 2013-02-20 22:24:44

+0

你也错过了一个右大括号('}')我不确定你想要它的确切位置,但我卡在一个地方它应该工作。 – Wilduck 2013-02-20 22:27:40

+0

@ user2052251在最后结束}。 – 2013-02-20 22:28:48

0

"10]似乎缺少一个"。改为尝试"10"]

+0

尽管现在在第130列仍然存在错误 – user2052251 2013-02-20 22:25:10

+0

@raser在评论中指出,您在某处缺少'}'。它应该在'oE'值的末尾,无论哪里都可以。 – 2013-02-20 22:26:50