2016-08-15 5 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

を約テーブルをクリックしますをクリックし、「」をクリックしてください。

これで、jsonとjsonのクエリに投稿するためのURLが表示されます......

この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年

助けが必要です。

EDIT: 数時間後、イムまだ立ち往生、しかしイム今、このコードまで:

<!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は、4つのオブジェクトの配列です。各オブジェクトには、4つのプロパティがあり、そのうち、valueTextsvaluesがあります。以下は

$.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

私の質問のための実用的なソリューションです:

はおそらくありますので、あなたはその後、valueTexts/valuesペアを見つけるために別のループは、4つのオブジェクトの第1のアレイのための第一のループを必要としますこれを行う良い方法ですが、私は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> 
関連する問題