首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正在尝试从python中的json文件解析href

正在尝试从python中的json文件解析href
EN

Stack Overflow用户
提问于 2018-06-05 23:28:19
回答 1查看 195关注 0票数 0

我有一个程序,我想从Google Places API收集单独的数据片段。我可以得到我想要的大多数属性,但是,whenI尝试获得‘html_attributions’时,我得到了错误:

代码语言:javascript
复制
    TypeError: list indices must be integers, not str

我对这一行使用了与其他行相同的格式,所以我不明白它为什么抛出这个错误。

这是我的代码:

代码语言:javascript
复制
    for n in range(len(data['results'])):
            location = []
            address = data['results'][n]['vicinity']
            address = address[: address.rfind(", ")]
            coords_lat = str(data['results'][n]['geometry']['location']['lat'])
            coords_lng = str(data['results'][n]['geometry']['location']['lng'])
            url_href = ''
            if str(data['results'][n]['photos']['html_attributions']):
                url_href = str(data['results'][n]['photos']['html_attributions'])
            location = [address, coords_lat, coords_lng, url_href]
            return location

这是JSON数据:

代码语言:javascript
复制
  {
     "geometry" : {
        "location" : {
           "lat" : 43.3151516,
           "lng" : -79.9131046
        },
        "viewport" : {
           "northeast" : {
              "lat" : 43.31669727989272,
              "lng" : -79.91206752010727
           },
           "southwest" : {
              "lat" : 43.31399762010727,
              "lng" : -79.91476717989272
           }
        }
     },
     "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
     "id" : "d66fce15477e5e481e618cdf7483809c6581060c",
     "name" : "Two Men & A Truck",
     "opening_hours" : {
        "open_now" : true,
        "weekday_text" : []
     },
     "photos" : [
        {
           "height" : 667,
           "html_attributions" : [
              "\u003ca href=\"https://maps.google.com/maps/contrib/116914873550616940396/photos\"\u003eTwo Men and A Truck\u003c/a\u003e"
           ],
           "photo_reference" : "CmRaAAAANR4eDG2XMLwt16x9WXQNPH45QExLrJOmBUaHYF2lNXejPRGm6G1D8WT6EhVDruj8SHkNjRwmE_BcwavNs0Olq2PJveNVFG9GFKtXoBzF1w9JLjTKZiEFxmKZho-mvTPJEhCXKgV1x1fFgzcOYasfGnjzGhQ9gezZ8T16Qyogf9CTS4OiSrpK1g",
           "width" : 1024
        }
     ],
     "place_id" : "ChIJ510ZCi6dLIgRYNowStOOqxQ",
     "rating" : 2,
     "reference" : "CmRbAAAAU36QBuW3xN3We55B8WvA_6OAFkMJx-dS2u0REb8xFjdqxkRjQe4kIlSwx1lvu9DL8GIckgpT_pspgN618vJF06m4BZZ-pwG8gIllEHHmjhCSXX44PmeOXKeBirjeHHSJEhBKlLGuJ3HrpwKj1DnYqWpSGhSLQhCw8j3ercmdZS-c_bHNZ-BnOA",
     "scope" : "GOOGLE",
     "types" : [ "car_repair", "store", "point_of_interest", "establishment" ],
     "vicinity" : "50 Dundas St E, Dundas"
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 04:02:31

从查看有效负载开始,为了获得"html_attributions",假设正确地解析数据“‘results”(因为您没有显示整个json有效负载),您必须执行如下操作

代码语言:javascript
复制
data['results'][n]['photos'][0]['html_attributions'][0]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50703819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档