0

我正在使用 google place API 返回位置列表。我想从结果集中找到名字。我得到了一个值列表,但是当我尝试只获取名字时,它给了我第一个字符。

name2 = simplejson.dumps([s['name'] for s in result['results']], indent=0)[0]

显然,必须有更好的方法来获得我想要的东西,但我还没有找到。好像我错过了一些非常基本的东西。以下是整个函数:

import simplejson, urllib


PLACE_SEARCH = 'https://maps.googleapis.com/maps/api/place/textsearch/json'

def placelatlng(name,city, state,  sensor,**geo_args):
    geo_args.update({
        'name': name,
        'city': city,
        'state': state,       
        'sensor': sensor  
    })  
    concat=name+'+'+city+'+'+state 
    query =  {"query": concat }

    key="MyKey"
    url = PLACE_SEARCH + '?' + urllib.unquote(urllib.urlencode(query))+ '&'  + "sensor="+sensor +'&' + "key="+key
    result = simplejson.load(urllib.urlopen(url))
    name2 = simplejson.dumps([s['name'] for s in result['results']], indent=0)

谢谢。

4

1 回答 1

2

dumps() 返回一个字符串。[0]获取其中的第一个字符。

要获得第一个结果的名称:

print result['results'][0]['name']
于 2012-12-30T05:10:58.283 回答