2017-08-23 23 views
0

任何幫助非常感謝。如何從json文件創建jQuery變量?

基本上我使用的是mashape的api,但我對JSON文件有點新手。

我想要做的是爲每個團隊總積分創建一個jQuery變量的負載。

請記住,團隊根據其在表格中的位置更改JSON文件中的位置。

下面是我到目前爲止的jQuery代碼(沒有認證碼)和JSON文件。

$.ajax({ 
url: 'https://heisenbug-premier-league-live-scores-v1.p.mashape.com/api/premierleague/table', 
type: 'GET', 
data: {}, 
dataType: 'json', 
success: function(data) { 
    $(data.records).each(function(index, value) { 



    }); 

    console.dir((data.source)); 
}, 
error: function(err) { alert(err); }, 
beforeSend: function(xhr) { 
xhr.setRequestHeader("X-Mashape-Authorization", 
"Auth Code"); 
} 
}); 

和JSON文件。

{ 
"records": [ 
{ 
    "team": "Manchester City", 
    "played": 10, 
    "win": 8, 
    "draw": 0, 
    "loss": 2, 
    "goalsFor": 29, 
    "goalsAgainst": 12, 
    "points": 24 
}, 
{ 
    "team": "Arsenal", 
    "played": 10, 
    "win": 7, 
    "draw": 2, 
    "loss": 1, 
    "goalsFor": 16, 
    "goalsAgainst": 6, 
    "points": 23 
}, 
{ 
    "team": "Tottenham", 
    "played": 10, 
    "win": 5, 
    "draw": 4, 
    "loss": 1, 
    "goalsFor": 18, 
    "goalsAgainst": 7, 
    "points": 19 
}, 
{ 
    "team": "Leicester", 
    "played": 10, 
    "win": 5, 
    "draw": 4, 
    "loss": 1, 
    "goalsFor": 16, 
    "goalsAgainst": 13, 
    "points": 19 
}, 
{ 
    "team": "Manchester United", 
    "played": 10, 
    "win": 5, 
    "draw": 4, 
    "loss": 1, 
    "goalsFor": 12, 
    "goalsAgainst": 4, 
    "points": 19 
}, 
{ 
    "team": "West Ham", 
    "played": 10, 
    "win": 4, 
    "draw": 4, 
    "loss": 2, 
    "goalsFor": 16, 
    "goalsAgainst": 12, 
    "points": 16 
}, 
{ 
    "team": "Liverpool", 
    "played": 9, 
    "win": 4, 
    "draw": 3, 
    "loss": 2, 
    "goalsFor": 11, 
    "goalsAgainst": 11, 
    "points": 15 
}, 
{ 
    "team": "Norwich", 
    "played": 10, 
    "win": 4, 
    "draw": 3, 
    "loss": 3, 
    "goalsFor": 12, 
    "goalsAgainst": 10, 
    "points": 15 
}, 
{ 
    "team": "Southampton", 
    "played": 10, 
    "win": 4, 
    "draw": 2, 
    "loss": 4, 
    "goalsFor": 17, 
    "goalsAgainst": 13, 
    "points": 14 
}, 
{ 
    "team": "Chelsea", 
    "played": 10, 
    "win": 4, 
    "draw": 2, 
    "loss": 4, 
    "goalsFor": 15, 
    "goalsAgainst": 14, 
    "points": 14 
}, 
{ 
    "team": "West Bromwich Albion", 
    "played": 11, 
    "win": 4, 
    "draw": 2, 
    "loss": 5, 
    "goalsFor": 14, 
    "goalsAgainst": 17, 
    "points": 14 
}, 
{ 
    "team": "Crystal Palace", 
    "played": 11, 
    "win": 4, 
    "draw": 2, 
    "loss": 5, 
    "goalsFor": 12, 
    "goalsAgainst": 12, 
    "points": 14 
}, 
{ 
    "team": "Watford", 
    "played": 11, 
    "win": 4, 
    "draw": 2, 
    "loss": 5, 
    "goalsFor": 11, 
    "goalsAgainst": 10, 
    "points": 14 
}, 
{ 
    "team": "Stoke", 
    "played": 9, 
    "win": 4, 
    "draw": 1, 
    "loss": 4, 
    "goalsFor": 10, 
    "goalsAgainst": 9, 
    "points": 13 
}, 
{ 
    "team": "Swansea", 
    "played": 10, 
    "win": 3, 
    "draw": 4, 
    "loss": 3, 
    "goalsFor": 9, 
    "goalsAgainst": 12, 
    "points": 13 
}, 
{ 
    "team": "Everton", 
    "played": 11, 
    "win": 3, 
    "draw": 4, 
    "loss": 4, 
    "goalsFor": 23, 
    "goalsAgainst": 20, 
    "points": 13 
}, 
{ 
    "team": "Sunderland", 
    "played": 10, 
    "win": 3, 
    "draw": 2, 
    "loss": 5, 
    "goalsFor": 12, 
    "goalsAgainst": 11, 
    "points": 11 
}, 
{ 
    "team": "Bournemouth", 
    "played": 9, 
    "win": 2, 
    "draw": 4, 
    "loss": 3, 
    "goalsFor": 10, 
    "goalsAgainst": 13, 
    "points": 10 
}, 
{ 
    "team": "Newcastle United", 
    "played": 10, 
    "win": 2, 
    "draw": 4, 
    "loss": 4, 
    "goalsFor": 14, 
    "goalsAgainst": 14, 
    "points": 10 
}, 
{ 
    "team": "Aston Villa", 
    "played": 9, 
    "win": 0, 
    "draw": 3, 
    "loss": 6, 
    "goalsFor": 6, 
    "goalsAgainst": 13, 
    "points": 3 
} 
] 
} 

非常感謝!

+1

你是什麼意思由jquery變量?你不能只使用解析的json嗎? –

+0

很難理解你想在這裏做什麼,你想使用jQuery顯示這些數據,以便它看起來像一個聯盟表..? – Keith

+0

沒有「jQuery變量」這樣的東西。也許你的意思是像「使用jQuery從JSON中獲取數據並將其存儲在變量中」? –

回答

0

要創建一個對象併爲每個團隊添加總點數,您需要創建一個映射(鍵/值),其中鍵是每個團隊的名稱,值是每個團隊的總點數。

我承載您的數據在MyJSON

下面是檢索從遠程服務器中的數據的功能,並初始化包含的總點數爲每個團隊的對象:

function getData() { 
    // https://api.myjson.com/bins/1c6utx 
    var teamScores = {}; 

    $.get("https://api.myjson.com/bins/1c6utx", function(data, status){ 
    $.each(data.records, function(index, value) { 
     if (!teamScores[value.team]) { 
     teamScores[value.team] = 0; 
     } 

     teamScores[value.team] += value.points; 
    }); 

    console.log(JSON.stringify(teamScores)); 
    }); 
} 

/* Output: 
{"Manchester City":24,"Arsenal":23,"Tottenham":19,"Leicester":19,"Manchester United":19,"West Ham":16,"Liverpool":15,"Norwich":15,"Southampton":14,"Chelsea":14,"West Bromwich Albion":14,"Crystal Palace":14,"Watford":14,"Stoke":13,"Swansea":13,"Everton":13,"Sunderland":11,"Bournemouth":10,"Newcastle United":10,"Aston Villa":3} 
*/ 

您可以檢查此fiddle看到它在行動。希望這可以幫助!

+0

謝謝你的幫助,對於成爲一個痛苦感到遺憾,但我將如何創建以球隊命名的變量,這等於他們的總分數? –

+0

@BrandonRoberts對象'teamscores'將包含每個教學的屬性,其值是每個團隊的總分數。例如,如果你做'teamscores'('曼城')',你將得到該球隊的總積分。不確定你的意思......你是否想爲每個團隊定義一個變量?團隊名單是否已修復? – mscheker