2011-06-09 95 views
2

我想解析解析JSON与Python

{"ticker":{"high":31.9099,"low":22.5,"vol":108468,"buy":29.61,"sell":30,"last":29.61}} 

,并结了:

last = 29.61 

,但我不知道从哪里开始解析蟒蛇:(

+10

我真的不明白为什么这些问题总是被问到......在google中输入“parse json python”直接导入Python'json'包。从那里它应该是直截了当的。 – I82Much 2011-06-09 01:21:24

+2

@ I82Much,[拥抱非谷歌](http://meta.stackexchange.com/questions/5280/embrace-the-non-googlers) – 2011-06-09 01:34:12

+0

@Mike Pennington:当然,非谷歌搜索有很大的空间。他们可以使用Bing代替。或者他们可以启动他们的Python库手册内容页面并输入Ctrl-Fjson – 2011-06-09 02:01:53

回答

13
>>> text = '''{"ticker":{"high":31.9099,"low":22.5,"vol":108468,"buy":29.61,"sell":30,"last":29.61}}''' 
>>> json.loads(text) 
{u'ticker': {u'sell': 30, u'buy': 29.609999999999999, u'last': 29.609999999999999, u'vol': 108468, u'high': 31.9099, u'low': 22.5}} 
>>> json.loads(text)[u'ticker'][u'last'] 
29.609999999999999 

或使用simplejson与旧版本的Python。

+0

为什么'u'ticker'而不是'ticker'? – 2013-05-20 10:52:48

+1

@KshitizSharma:因为[''ticker''是字节,而不是文本。](http://farmdev.com/talks/unicode/) – 2013-05-20 10:54:10

2

我不确定,但我想我应该在这里发布这个以防其他人发现它有用。在Parsing JSON in Python这里有一个很好的帖子 - 它很小,说明你如何在不同的场景中使用它。

祝你好运!