Python中的JSON加载/转储

7

文档中提到: http://docs.python.org/library/json.html

>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]

我把它修改成了这样:
>>> the_dump=json.dumps("['foo', {'bar':['baz', null, 1.0, 2]}]")
>>> the_load = json.loads(the_dump)
u"['foo', {'bar':['baz', null, 1.0, 2]}]"

现在它是一个字符串。我想做这个:the_load[1]['bar']
可以用这种方式吗?我哪里错了?
为什么这样做可行?
>>> a= "[1,2,3]"
>>> json.loads(a)[0]
1

1
如果您对速度和安全感兴趣,我建议您自己安装 simplejson 模块。从 2.6 版本开始的 Python 的 json 模块是一个旧版本的 simplejson,它不具备最新版本的所有速度和安全改进功能。 - Edwin
1个回答

12
>>> the_dump=json.dumps("['foo', {'bar':['baz', null, 1.0, 2]}]")
您要求对字符串进行 JSON 编码,因此当您解码时得到字符串并不奇怪。请尝试改为:
>>> the_dump=json.dumps(['foo', {'bar':['baz', None, 1.0, 2]}])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接