我使用SL4A API中的readLocation()方法获得此输出。这是结果。我怎样才能解析这个,所以我只得到海拔,经度和纬度?
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'
答案 0 :(得分:1)
Assuming res
is the name bound to that object,res.result[u'network'][u'altitude']
会让你达到高度。适当修改其他键。
答案 1 :(得分:1)
由于res.result
显然由嵌套的dicts组成,res.result[u'network'][u'latitude']
应该可以解决问题。
答案 2 :(得分: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}