2012-02-21 99 views
0

我有从SL4A API使用readLocation()方法的输出。这是结果。我怎么解析这个,所以我只能得到高度,经度和纬度?Python字符串和字典解析

Result(id=2, result={u'network': {u'altitude': 0, u'p 
    rovider': u'network', u'longitude': -97.6591116000000 
    03, u'time': 1329794430482L, u'latitude': 30.44257223 
    3333333, u'speed': 0, u'accuracy': 51}}, error=None) 

我这个代码试了一下:

import android, string, time 

    droid = android.Android() 
    droid.startLocating() 
    time.sleep(5) 

    res = droid.readLocation() 

    print res.result[u'latitude'] 

,它返回: KeyError异常:u'latitude”

回答

1

Assuming res is the name bound to that objectres.result[u'network'][u'altitude']将让你的高度。根据其他键进行修改。

+0

不工作...看看我的我的岗位 – tabchas 2012-02-21 03:44:27

+0

哦NVM的编辑...我使用print res.result [u'network'] [u'latitude']修复了它......无论如何感谢 – tabchas 2012-02-21 03:47:06

+0

是的,错过了。将解决。 – 2012-02-21 03:47:33

1

由于res.result显然是由嵌套的字典组成,res.result[u'network'][u'latitude']应该这样做。

+0

是的,如果我觉得那种迟到......谢谢! – tabchas 2012-02-21 03:52:01

1

尝试

res.result[u'network'][u'latitude'] 

因为网络行为为重点,以包含字典海拔,经度纬度&

u'network' : { u'altitude': 0, u'provider': u'network',u'longitude': -97.6591116000000 03, u'time': 1329794430482L, u'latitude': 30.442572233333333, u'speed': 0, u'accuracy': 51} 
+0

是的,我觉得那种晚了...谢谢! – tabchas 2012-02-21 03:51:38