2016-08-15 20 views
0

我在json中邁出了第一步。進一步深入json

有一個龐大的數據庫,您可以查詢有關我的國家的各種統計數據。像人口 http://px.hagstofa.is/pxen/pxweb/en

現在,如果你瀏覽上面的鏈接說人口,你會在這裏結束: http://px.hagstofa.is/pxen/pxweb/en/Ibuar/Ibuar__mannfjoldi__1_yfirlit__arsfjordungstolur/MAN10001.px/?rxid=f4a21b41-fb7a-45dc-9aec-62ae2d3cea5c

如果選擇一些選項你在這裏: http://px.hagstofa.is/pxen/pxweb/en/Ibuar/Ibuar__mannfjoldi__1_yfirlit__arsfjordungstolur/MAN10001.px/table/tableViewLayout1/?rxid=f4a21b41-fb7a-45dc-9aec-62ae2d3cea5c

單擊關於表然後單擊「使此表可在您的應用程序中使用

現在你看到一個URL張貼到JSON和JSON查詢......

我一直試圖現在幾個小時從這個URL獲取任何類型的數據,但我似乎不能挖掘出來。

我想是這樣的:

<!DOCTYPE HTML> 
<html lang="en-US"> 
<head> 
    <meta charset="UTF-8"> 
    <title>JSON Tutorial</title> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 
</head> 

<body> 
    <script type="text/javascript"> 
     $.getJSON('http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px', function(data) { 
      console.log(data.variables) 
     }) 
    </script> 
</body> 
</html> 

這給了我的下一個對象。但我無法弄清楚如何得到一些統計.....

例如: 女性人口在2015年

任何幫助是非常需要的。

編輯: 幾個小時後,我還在堅持,但即時通訊到這個代碼現在:

<!DOCTYPE HTML> 
<html lang="en-US"> 
<head> 
    <meta charset="UTF-8"> 
    <title>JSON Tutorial</title> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 
</head> 

<body> 
    <script type="text/javascript"> 


     $.ajax({ 
      url: 'http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px', 
      dataType: 'json', 
      type: 'get', 
      cache: false, 
      success: function(data) { 
        $(data.variables).each(function(index, value) { 
        console.log(value.values.Alls + ' test ' + value.values); 
        document.write(value.values[0] + '<br>'); 
        }); 
       } 
     }); 

    </script> 
</body> 
</html> 

問候

+0

撕裂我的頭髮在這裏....我只是無法訪問數據 – Aron

回答

0

data.variables是四個對象的數組。每個對象都包含四個屬性,其中有valueTextsvalues。所以,你需要四個對象的第一陣列的第一環,接着又循環到找到valueTexts /values雙:

$.getJSON('http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px', function(data) { 


    console.log (data.variables); 

    for(let i = 0; i < data.variables.length; i++){ 

    console.info(data.variables[i].text); 

    for(let k = 0; k < data.variables[i].valueTexts.length; k++){ 
     console.log(data.variables[i].valueTexts[k] + ' ' + data.variables[i].values[k]); 
    } 

    } 


}); 
+0

大家好,感謝您的答覆......非常有幫助。但它沒有給出任何結果.....從我的理解,我需要張貼到本查詢,例如:'{ 「查詢」: { 「代碼」: 「Sveitarfélag」, 「選擇」:{ 「過濾器」: 「項」, 「值「:[ 」全「 ] } } ], 」迴應「:{ 」格式「: 」PX「 } }' – Aron

+0

這是奇怪的,我得到的值 - https://開頭www.dropbox.com/s/6blm1loqbqt8q92/Screenshot%202016-08-16%2015.30.12.jpg?dl=0 – RRikesh

+0

現在我不知道你想要什麼參數以及如何查詢 – RRikesh

0

下面是我的問題一個有效的解決方案:

有可能是一個更好的方法來做到這一點,但我需要一個POST的查詢,並給了我結果。

現在我只需要使此代碼吐出csv或xml文件中的結果。 如果有人有解決方案,我會很感激。

<html lang="en"> 
<meta charset="utf-8"> 
<head> 
    <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script> 


</head> 


<script> 
     var query = { 
    "query": [ 
    { 
     "code": "Sveitarfélag", 
     "selection": { 
     "filter": "item", 
     "values": [ 
      "Alls" 
     ] 
     } 
    }, 
    { 
     "code": "Aldur", 
     "selection": { 
     "filter": "item", 
     "values": [ 
      "Alls" 
     ] 
     } 
    }, 
    { 
     "code": "Ár", 
     "selection": { 
     "filter": "item", 
     "values": [ 
      "18" 
     ] 
     } 
    }, 
    { 
     "code": "Kyn", 
     "selection": { 
     "filter": "item", 
     "values": [ 
      "Alls" 
     ] 
     } 
    } 
    ], 
    "response": { 
    "format": "csv" 
    } 
}; 
     query = JSON.stringify(query); 
     $.ajax({ 
       type: "POST", 
      url: "http://px.hagstofa.is/pxis/api/v1/is/Ibuar/mannfjoldi/2_byggdir/sveitarfelog/MAN02001.px", 
      data:query, 
      success: function(json) { 
       document.write(json); 
     } 
    }); 
</script> 
</html>