Python simplejson没有转换为true

时间:2012-05-10 22:58:48

标签: python json simplejson

为什么这不起作用?我正在阅读simplejson JsonDecoder,true应该是可解析的并且转换为True。

% python
>>> import simplejson as json
>>> print json.loads({"bool":true})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>>

2 个答案:

答案 0 :(得分:7)

loads的输入应为字符串:

>>> json.loads('{"bool":true}')
{u'bool': True}

答案 1 :(得分:1)

json.loads需要一个字符串,必须用引号括起来,如下所示:

o = json.loads(u'{"bool":true}')
print(o) # outputs  {u'bool': True}

请注意,u(在Python 2.x中将字符串设为字符字符串)对于此输入是可选的,只有在使用非ASCII字符时才有必要例如ü,é,编或ℝ。