首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JSON获取值

使用JSON获取值
EN

Stack Overflow用户
提问于 2012-03-02 19:34:10
回答 2查看 162关注 0票数 1

我想选择jason对象的一个特定属性。

这是JSON的结构:

代码语言:javascript
复制
{
  "resultsPage:" {
    "results": { "event": [
      {
        "id":11129128,
        "type":"Concert",
        "uri":"http://www.songkick.com/concerts/11129128-wild-flag-at-fillmore?utm_source=PARTNER_ID&utm_medium=partner",
        "displayName":"Wild Flag at The Fillmore (April 18, 2012)",
        "start":{"time":"20:00:00",
                 "date":"2012-04-18",
                 "datetime":"2012-04-18T20:00:00-0800"},
        "performance":[{"artist":{"uri":"http://www.songkick.com/artists/29835-wild-flag?utm_source=PARTNER_ID&utm_medium=partner",
                                  "displayName":"Wild Flag","id":29835,"identifier":[]},
                        "displayName":"Wild Flag",
                        "billingIndex":1,
                        "id":21579303,
                        "billing":"headline"}],
        "location":{"city":"San Francisco, CA, US","lng":-122.4332937,"lat":37.7842398},
        "venue":{"id":6239,
                 "displayName":"The Fillmore",
                 "uri":"http://www.songkick.com/venues/6239-fillmore?utm_source=PARTNER_ID&utm_medium=partner",
                 "lng":-122.4332937, "lat":37.7842398,
                 "metroArea":{"uri":"http://www.songkick.com/metro_areas/26330-us-sf-bay-area?utm_source=PARTNER_ID&utm_medium=partner",
                              "displayName":"SF Bay Area","country":{"displayName":"US"},"id":26330,"state":{"displayName":"CA"}}},
        "status":"ok",
        "popularity":0.012763
      }, ....
    ]},
    "totalEntries":24,
    "perPage":50,
    "page":1,
    "status":"ok"
  }
}

为了获得JSON,我就是这样做的:

代码语言:javascript
复制
url: "http://api.songkick.com/api/3.0/artists/480448/calendar.json?apikey=APIKEY&jsoncallback=?",
            dataType: "jsonp", // <== JSON-P request
            success: function (data) {
                $.each(data["resultsPage"]["results"]["event"], function (i, entry) {
                    $("#events").append('<li><a href="' + entry.uri + '">' + entry.displayName + '</a></li>');
                });

我对JSON很陌生,所以我的问题是:如何通过输入一个艺术家的名字来获取一个位置的纬度和经度?知道吗?

EN

回答 2

Stack Overflow用户

发布于 2012-03-02 19:40:50

您可以在您的entry.location.lng函数中使用entry.location.latentry.location.lat

每个属性,如果不是一个数组,都可以用点表示法来访问,大多数人认为这更容易阅读和理解。也就是说,您的$.each()也可以这样定义:

$.each(data.resultsPage.results.event, function (i, entry) {

希望能帮上忙..。

票数 1
EN

Stack Overflow用户

发布于 2012-03-02 19:42:45

如果必须匹配给定的属性值,则必须爬行并检查它。

代码语言:javascript
复制
for ( loop events )
    if ( select Name = thing you want )
        do my stuff
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9539273

复制
相关文章

相似问题

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