javascript - 使用 jQuery 将雅虎财经观察列表从 CSV 解析为 JSON

标签 javascript jquery json csv yahoo-finance

我想使用此代码来解析雅虎财经 CSV 文件中的 JSON 数据。 JSON 链接有效,我只是在使用 function (data)var data 行时遇到问题。解析表调用function (data),但这与var data行冲突。 The original code我曾经使用 function (json) 来解析表格,但这个特定的 api 似乎只能与 function (data) 一起使用。

function drawTable() {
// use jQuery to make an AJAX request for data
$.ajax({
    type: "get",
    dataType: "jsonp",
    url: 'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quoteslist%20where%20symbol%3D%27BRDT%2CAPPL%27&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=',
    success: function (data) {
        var data = new google.visualization.DataTable();

        data.addColumn('string', 'Symbol');
        data.addColumn('number', 'open');


        // parse the JSON into the DataTable
        for (var i = 0; i < json.list.resources.length; i++) {

            var symbol = json.list.resources[i].resource.fields.symbol;
            var open = parseFloat(json.list.resources[i].resource.fields.open);


            data.addRow([symbol, open]);
        }

        var table = new google.visualization.Table(document.querySelector('#table_div'));
        table.draw(data);
    }
});
}
google.load('visualization', '1', {
    packages: ['table'],
    callback: drawTable
});

最佳答案

我更改了几个变量名称,并从 URL 上的 https 中删除了“s”,还将诊断设置为 false,因为它抛出了奇怪的符号。

希望这是您正在寻找的

demo

function drawTable() {
    // use jQuery to make an AJAX request for data
    $.ajax({
        type: "get",
        dataType: 'json',
        url: 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quoteslist%20where%20symbol%3D%27BRDT%2CAPPL%27&format=json&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=',
        success: function (data) {
            var dt = new google.visualization.DataTable();
            dt.addColumn('string', 'Symbol');
            dt.addColumn('number', 'Open');

            // parse the JSON into the DataTable
            for (var i = 0; i < data.query.results.quote.length; i++) {
                Symbol = data.query.results.quote[i].Symbol;

                Open = parseFloat(data.query.results.quote[i].Open);

                if (isNaN(Open)) {
                    Open = 0;
                }

                dt.addRow([Symbol, Open]);
            }

            var table = new google.visualization.Table(document.querySelector('#table_div'));
            table.draw(dt);
        },
        error: function (e, a, s) {
            alert(s);
        }
    });
}
google.load('visualization', '1', {
    packages: ['table'],
    callback: drawTable
});

关于javascript - 使用 jQuery 将雅虎财经观察列表从 CSV 解析为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24919143/

相关文章:

c# - 镜像堆积柱形图 - Javascript/C#?

php - jQuery .on 事件触发器对于两种表单的工作方式不同?

jquery - 使用 cookie 和 jQuery BlockUI

ios - 在 swift 2.0 中解析 JSON 时出错

javascript - Node - 如何从本地文件正确读取 json?

php - 在 mysql_fetch_array 数组上使用 urldecode

javascript - 我是否应该迁移到 Manifest v3,因为我的扩展的大部分功能都依赖于持久背景

javascript - jQuery 多类选择问题

javascript - 如何删除传单图层并重新绘制?

javascript - 无法从 JQuery 中的幻灯片获取值