-1

为什么这不起作用?我正在阅读 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
>>>
4

2 回答 2

7

的输入loads应该是一个字符串:

>>> json.loads('{"bool":true}')
{u'bool': True}
于 2012-05-10T23:15:57.940 回答
1

json.loads接受一个字符串,它必须用引号括起来,像这样:

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

请注意,u(在 Python 2.x 中使字符串成为字符串)对于此输入是可选的,并且仅当您使用非 ASCII 字符(例如 ü、é、编或 ℝ)时才需要。

于 2012-05-10T23:00:24.297 回答