我試圖從人口普查數據中使用node.js JSON.parse提取單個行和特定數據。使用node.js解析多維普查數據
const http = require('http');
function printStuff(statesInfo){
const statesPopulations = `${statesInfo} This is all states info`;
console.log(statesPopulations);
}
const request = http.get(`http://api.census.gov/data/2013/acs5?get=NAME,B01001_001E&for=state:*&key=4c2f7253819e5491c78ff2c5ed541fe95943854c`,
response => {
let body = "";
console.log('Status Code:', response.statusCode);
response.on('data', data=> {
body += data.toString();
});
response.on('end',() => {
const statePop = JSON.parse(body);
const statesInfo = JSON.parse(body);
printStuff(statesInfo);
})
});
使用的console.log(體),結果顯示爲...
名稱,B01001_001E,州,阿拉巴馬州,4799277,01,阿拉斯加,720316,02,亞利桑那州,6479703, 04,阿肯色州,2933369,05,加利福尼亞州,37659181,06,科羅拉多州,51 19329,08,康涅狄格,3583561,09,特拉華.......
如果我使用console.dir(體),結果顯示爲...
[[NAME] [B01001] [狀態] [ '阿拉巴馬', '4799927', '01'], [ '阿拉斯加', '720316', '02']] ....
一路下降到波多黎各。我試圖抽出特定的東西,但我一直在樹屋使用的例子都設置得很好,整齊,你可以使用諸如profile.badges.length之類的漂亮的東西將特定的東西拉出來,但從我可以告訴的是,沒有這些東西被貼上標籤。我希望能夠說,把弗吉尼亞州的信息從那裏拉出來,或者是特拉華州。
,'data'已經是有效的JSON。當你調用'data.toString()'時,你正在銷燬這個對象並把它變成一個字符串,所以你不能拔出你想要的東西。按原樣使用數據。 - 編輯 - 其實,沒關係..從請求中返回的數據被格式化爲一個奇怪的,無益的方式..使得很難得到你想要的。 –