1

Hi Every one I'm trying to get this json file from a web service from this website : "http://172.20.192.218:8080/DC_Local/rest/datacorrelation?type=/soccer/football_team&limit=20&callback=?"

However I'm getting this "Uncaught SyntaxError: Unexpected token" But I dunno whats wrong.

this is my code for calling the json file :

var pts = [];
    $.getJSON("http://172.20.192.218:8080/DC_Local/rest/datacorrelation?type=/soccer/football_team&limit=20&callback=?", function(data) {
        //JSON.parse(data);

        $.each(data, function(i,v){
            pts.push([v.topic, v.audience.length]);
        });
     });

and this is my json file I'm trying to get :

{"data":[{"id":"/en/arsenal_fc","topic":"Arsenal F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/ajax_amsterdam","topic":"Ajax Amsterdam","audience":[],"type":"/soccer/football_team"},{"id":"/en/az_alkmaar","topic":"AZ Alkmaar","audience":[],"type":"/soccer/football_team"},{"id":"/en/as_roma","topic":"A.S. Roma","audience":[],"type":"/soccer/football_team"},{"id":"/en/ac_milan","topic":"A.C. Milan","audience":[],"type":"/soccer/football_team"},{"id":"/en/acf_fiorentina","topic":"ACF Fiorentina","audience":[],"type":"/soccer/football_team"},{"id":"/en/bristol_city_fc","topic":"Bristol City F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/charlton_athletic_fc","topic":"Charlton Athletic F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/ac_chievoverona","topic":"A.C. Chievo Verona","audience":[],"type":"/soccer/football_team"},{"id":"/en/chelsea_fc","topic":"Chelsea F.C.","audience":[{"information":[{"category":"Athlete","source":"Frank Lampard"}],"username":"Tan Jercia","userid":"100003921730958"},{"information":[{"category":"Athlete","source":"Didier Drogba"},{"category":"Athlete","source":"Frank Lampard"},{"category":"Professional sports team","source":"Chelsea Football Club"},{"category":"favorite_athletes","source":"Peter Cech"},{"category":"favorite_athletes","source":"Didier Drogba"},{"category":"favorite_athletes","source":"Frank Lampard"}],"username":"Ang Peterson","userid":"100003914111287"}],"type":"/soccer/football_team"},{"id":"/en/england_national_football_team","topic":"England national football team","audience":[],"type":"/soccer/football_team"},{"id":"/en/fulham_fc","topic":"Fulham F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/f_c_den_bosch","topic":"F. C. Den Bosch","audience":[],"type":"/soccer/football_team"},{"id":"/en/hellas_verona_fc","topic":"Hellas Verona F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/fc_internazionale_milano","topic":"F.C. Internazionale Milano","audience":[],"type":"/soccer/football_team"},{"id":"/en/juventus_fc","topic":"Juventus F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/liverpool_fc","topic":"Liverpool F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/luton_town_fc","topic":"Luton Town F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/manchester_united_fc","topic":"Manchester United F.C.","audience":[{"information":[{"category":"Professional sports team","source":"Manchester United"}],"username":"Tan Jercia","userid":"100003921730958"}],"type":"/soccer/football_team"},{"id":"/en/plymouth_argyle_fc","topic":"Plymouth Argyle F.C.","audience":[],"type":"/soccer/football_team"}]}
5
  • You do not need the JSON.parse() call. Not sure, whether you used it or not, when you got the error. Commented Jan 15, 2013 at 8:42
  • Is it an HTTP error (post the code) or a JS error? Commented Jan 15, 2013 at 8:42
  • returning 404 for me. may be HTTP error. Commented Jan 15, 2013 at 8:44
  • Is it because you're trying to iterate over an array but you're actually getting an object back? Does iterating over data.data work? Commented Jan 15, 2013 at 8:49
  • 2
    Your URL has callback=? in it which tells jQuery this is a cross domain jsonp request. Is server returning json or jsonp ? If it is only json and is cross domain it won't work and would be reson for error Commented Jan 15, 2013 at 8:53

1 Answer 1

1

You have to write $.each(data.data, function(i,v){ instead of $.each(data, function(i,v){.

Sample:

<!DOCTYPE html>
<html>
    <head>
        <title>Add many Elements</title>
        <script src="jquery.js"></script>
        <script>
            $(document).ready(function() {
            var dataString = '{"data":[{"id":"/en/arsenal_fc","topic":"Arsenal F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/ajax_amsterdam","topic":"Ajax Amsterdam","audience":[],"type":"/soccer/football_team"},{"id":"/en/az_alkmaar","topic":"AZ Alkmaar","audience":[],"type":"/soccer/football_team"},{"id":"/en/as_roma","topic":"A.S. Roma","audience":[],"type":"/soccer/football_team"},{"id":"/en/ac_milan","topic":"A.C. Milan","audience":[],"type":"/soccer/football_team"},{"id":"/en/acf_fiorentina","topic":"ACF Fiorentina","audience":[],"type":"/soccer/football_team"},{"id":"/en/bristol_city_fc","topic":"Bristol City F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/charlton_athletic_fc","topic":"Charlton Athletic F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/ac_chievoverona","topic":"A.C. Chievo Verona","audience":[],"type":"/soccer/football_team"},{"id":"/en/chelsea_fc","topic":"Chelsea F.C.","audience":[{"information":[{"category":"Athlete","source":"Frank Lampard"}],"username":"Tan Jercia","userid":"100003921730958"},{"information":[{"category":"Athlete","source":"Didier Drogba"},{"category":"Athlete","source":"Frank Lampard"},{"category":"Professional sports team","source":"Chelsea Football Club"},{"category":"favorite_athletes","source":"Peter Cech"},{"category":"favorite_athletes","source":"Didier Drogba"},{"category":"favorite_athletes","source":"Frank Lampard"}],"username":"Ang Peterson","userid":"100003914111287"}],"type":"/soccer/football_team"},{"id":"/en/england_national_football_team","topic":"England national football team","audience":[],"type":"/soccer/football_team"},{"id":"/en/fulham_fc","topic":"Fulham F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/f_c_den_bosch","topic":"F. C. Den Bosch","audience":[],"type":"/soccer/football_team"},{"id":"/en/hellas_verona_fc","topic":"Hellas Verona F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/fc_internazionale_milano","topic":"F.C. Internazionale Milano","audience":[],"type":"/soccer/football_team"},{"id":"/en/juventus_fc","topic":"Juventus F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/liverpool_fc","topic":"Liverpool F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/luton_town_fc","topic":"Luton Town F.C.","audience":[],"type":"/soccer/football_team"},{"id":"/en/manchester_united_fc","topic":"Manchester United F.C.","audience":[{"information":[{"category":"Professional sports team","source":"Manchester United"}],"username":"Tan Jercia","userid":"100003921730958"}],"type":"/soccer/football_team"},{"id":"/en/plymouth_argyle_fc","topic":"Plymouth Argyle F.C.","audience":[],"type":"/soccer/football_team"}]}'
                var pts = [];
        var data = JSON.parse(dataString);

        $.each(data.data, function(index,data){
            pts.push([data.topic, data.audience.length]);
        });
            });
        </script>
    </head>
    <body>
        <div class="testDiv">
            <div class="testDivPos"></div>
        </div>
    </body>
</html>
Sign up to request clarification or add additional context in comments.

2 Comments

Your first sentence does not really make sense to me. Bot variants seem identical.
Sorry, I meant to the second example should have said *'$.each(data, function'

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.