1

I want to select one specific property of a jason object.

This is the structure of the JSON:

{
  "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"
  }
}

This is what I'm doing to get the JSON:

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>');
                });

I'm new with JSON so my question is: How do I get the latitude and longitude of a location by entering an artist name out this JSON object? Any Idea?

1
  • 2
    You obviously already know how to get properties. entry.uri, entry.displayName. Now apply the same logic to this problem. Commented Mar 2, 2012 at 19:37

2 Answers 2

1

You would use entry.location.lng and entry.location.lat inside your $.each() function.

each property, if not an array, can be accessed with dot notation, which most people find easier to read and understand. meaning, your $.each() could also be defined like this :

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

Hope that helps...

Sign up to request clarification or add additional context in comments.

Comments

0

If you have to match a given property value, then you're going to have to crawl and check for it.

for ( loop events )
    if ( select Name = thing you want )
        do my stuff

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.