如何在JavaScript中获取JSON数据数组?

2024-10-03 19:28:50 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在JavaScript中执行以下操作?我想从url“https://data.cityofnewyork.us/resource/734v-jeq5.json”加载JSON数据。然后,获取JSON数据,它只包含一个“sat\u critical\u reading\u avg\u score”数组。非常感谢您的帮助

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())

Tags: 数据httpsjsondataresultsatresourceavg
2条回答

您可以使用fetch()JSON.parse()方法,这两种方法都是内置的JavaScript

下面是一个从服务器获取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的更多知识,我推荐一本雄辩的JavaScript书籍。在线提供免费版本的好书: http://eloquentjavascript.net/

您的代码转换为TS/JS: 函数getData(): 常量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);

相关问题 更多 >