如何在JavaScript中执行以下操作?我想从网址“ https://data.cityofnewyork.us/resource/734v-jeq5.json”中加载JSON数据。然后,获取仅包含'sat_critical_reading_avg_score'数组的JSON数据。任何帮助将不胜感激。
import json
import urllib.request
def get_data():
response = urllib.request.urlopen("https://data.cityofnewyork.us/resource/734v-jeq5.json")
content = response.read().decode()
response1 = json.loads(content)
result = []
for i in response1:
try:
result.append(
int(i['sat_critical_reading_avg_score'])
)
except:
pass
return result
print(get_data())
答案 0 :(得分:1)
您可以同时使用内置JavaScript的fetch()和JSON.parse()方法。
下面是一个简单的示例,该示例从服务器获取JSON字符串,将其转换为JS对象并将结果输出到控制台:
let JSobject;
fetch('https://data.cityofnewyork.us/resource/734v-jeq5.json')
.then(function(JSONstring) {
JSobject = JSON.parse(JSONstring);
});
console.log(JSobject.sat_critical_reading_avg_score);
有关JavaScript的更多知识,我推荐一本Eloquent JavaScript书。一本相当不错的书,在线提供免费版本: http://eloquentjavascript.net/
答案 1 :(得分:0)
您的代码转换为TS / JS: 函数getData(): const fetchData =
fetch('https://data.cityofnewyork.us/resource/734v-jeq5.json').then(response => {
let data = JSON.parse(response);
let result = [];
for (i in data) {
try {
result.push(parseInt(data[i].sat_critical_reading_avg_score));
} catch (err) {}
}
return result;
});
return fetchData;
console.log(getData());
简化了ES7样式:
const data = fetch('https://data.cityofnewyork.us/resource/734v-jeq5.json').then(response => response.json().map(item => item.sat_critical_reading_avg_score));
console.log(data);