Arrays 如何请求JSON API

Arrays 如何请求JSON API,arrays,json,node.js,ibm-cloud,Arrays,Json,Node.js,Ibm Cloud,我正在使用IBMBlueMix为一个学校项目创建一个web服务 我的项目需要从API请求JSON,这样我就可以使用它提供的数据 我不确定如何访问JSON中[]之间包含的数据。我知道这是一个数组,但我不知道如何从中提取数据。 这是我的.js代码的末尾,在http.get方法中 我的JSON是: { "dataset": { "id": 24226, "dataset_code": "432", "database_code": "BCB",

我正在使用IBMBlueMix为一个学校项目创建一个web服务

我的项目需要从API请求JSON,这样我就可以使用它提供的数据

我不确定如何访问JSON中
[]
之间包含的数据。我知道这是一个数组,但我不知道如何从中提取数据。 这是我的
.js
代码的末尾,在
http.get
方法中

我的JSON是:

{
    "dataset": {
        "id": 24226,
        "dataset_code": "432",
        "database_code": "BCB",
        "name": "Interest rate - Selic target",
        "description": "Interest rate - Selic target\nUnits: % p.y.",
        "refreshed_at": "2015-11-27T00:33:34.774Z",
        "newest_available_date": "2016-01-20",
        "oldest_available_date": "1999-03-05",
        "column_names": ["Date", "Value"],
        "frequency": "daily",
        "type": "Time Series",
        "premium": false,
        "limit": null,
        "transform": null,
        "column_index": null,
        "start_date": "1999-03-05",
        "end_date": "2016-01-20",
        "data": [
            ["2016-01-20", 14.25],
            ["2016-01-19", 14.25],
            ["2016-01 -18", 14.25]
        ],
        "collapse": null,
        "order": "desc",
        "database_id": 35
    }
}
我只想在我的代码中使用一些日期和它们各自的值,例如
[2016-01-20]:14.25

这是我的
.js
文件:

// Hello.
//
// This is JSHint, a tool that helps to detect errors and potential
// problems in your JavaScript code.
//
// To start, simply enter some JavaScript anywhere on this page. Your
// report will appear on the right side.
//
// Additionally, you can toggle specific options in the Configure
// menu.

function main() {
  return 'Hello, World!';
}

main();/*eslint-env node*/

//------------------------------------------------------------------------------
// node.js starter application for Bluemix
//------------------------------------------------------------------------------

// HTTP request - duas alternativas
var http = require('http');
var request = require('request');

// cfenv provides access to your Cloud Foundry environment
// for more info, see: https://www.npmjs.com/package/cfenv
var cfenv = require('cfenv');

//chama o express, que abre o servidor
var express = require('express');

// create a new express server 
var app = express();

// serve the files out of ./public as our main files
app.use(express.static(__dirname + '/public'));

// get the app environment from Cloud Foundry
var appEnv = cfenv.getAppEnv();

// start server on the specified port and binding host
app.listen(appEnv.port, '0.0.0.0', function() {
    // print a message when the server starts listening
    console.log("server starting on " + appEnv.url);
});


app.get('/home1', function (req,res) {
    http.get('http://developers.agenciaideias.com.br/cotacoes/json', function (res2) {
        var body = '';
        res2.on('data', function (chunk) {
            body += chunk;
        });
        res2.on('end', function () {
            var json = JSON.parse(body);
            var CotacaoDolar = json["dolar"]["cotacao"];
            var VariacaoDolar = json["dolar"]["variacao"];
            var CotacaoEuro = json["euro"]["cotacao"];
            var VariacaoEuro = json["euro"]["variacao"];
            var Atualizacao = json["atualizacao"];

            obj=req.query; 

            DolarUsuario=obj['dolar'];
            RealUsuario=Number(obj['dolar'])*CotacaoDolar;

            EuroUsuario=obj['euro'];
            RealUsuario2=Number(obj['euro'])*CotacaoEuro;

            Oi=1*VariacaoDolar;
            Oi2=1*VariacaoEuro;

            if (VariacaoDolar<0) {
            recomend= "Recomenda-se, portanto, comprar dólares.";
            }

            else if (VariacaoDolar=0){
                recomend="";
            }

            else {
                recomend="Recomenda-se, portanto, vender dólares.";
                  }

            if (VariacaoEuro<0) {
            recomend2= "Recomenda-se, portanto, comprar euros.";
            }

            else if (VariacaoEuro=0){
                recomend2="";
            }
            else {
                recomend2="Recomenda-se,portanto, vender euros.";
                  }   

            res.render('cotacao_response.jade', {
                         'CotacaoDolar':CotacaoDolar,
                        'VariacaoDolar':VariacaoDolar,
                        'Atualizacao':Atualizacao,
                        'RealUsuario':RealUsuario,
                        'DolarUsuario':DolarUsuario,
                        'CotacaoEuro':CotacaoEuro,
                        'VariacaoEuro':VariacaoEuro,
                        'RealUsuario2':RealUsuario2,
                        'recomend':recomend,
                        'recomend2':recomend2,
                        'Oi':Oi,
                        'Oi2':Oi2
            });

            app.get('/home2', function (req,res) {
    http.get('https://www.quandl.com/api/v3/datasets/BCB/432.json', function (res3) {
        var body = '';
        res3.on('data', function (chunk) {
            body += chunk;
        });
        res2.on('end', function () {
            var json = JSON.parse(body);
            var ultimo= json[data]["0"]["1"];
            console.log("a meta é"+ultimo)
        )};
    )};
            )};
        )};
    )};
)};
你好。 // //这就是JSHint,一个帮助检测错误和潜在错误的工具 //JavaScript代码中的问题。 // //首先,只需在此页面的任意位置输入一些JavaScript即可。你的 //报告将显示在右侧。 // //此外,您还可以在“配置”对话框中切换特定选项 //菜单。 函数main(){ 返回“你好,世界!”; } main()/*eslint环境节点*/ //------------------------------------------------------------------------------ //用于Bluemix的node.js初学者应用程序 //------------------------------------------------------------------------------ //HTTP请求-duas alternativas var http=require('http'); var请求=要求(“请求”); //cfenv提供对您的云铸造环境的访问 //有关详细信息,请参阅:https://www.npmjs.com/package/cfenv var cfenv=require('cfenv'); //查马奥特快车,阿布雷奥塞维多 var express=需要(“express”); //创建新的express服务器 var-app=express(); //将./public之外的文件作为我们的主要文件提供 app.use(express.static(uu dirname+/public)); //从Cloud Foundry获取应用程序环境 var appEnv=cfenv.getAppEnv(); //在指定的端口和绑定主机上启动服务器 app.listen(appEnv.port,'0.0.0.0',function(){ //当服务器开始侦听时打印消息 log(“服务器启动于”+appEnv.url); }); app.get('/home1',函数(req,res){ http.get('http://developers.agenciaideias.com.br/cotacoes/json,函数(res2){ 变量体=“”; res2.on('data',函数(块){ body+=块; }); res2.on('end',function(){ var json=json.parse(body); var cotacodolar=json[“dolar”][“cotaco”]; var VariacaoDolar=json[“dolar”][“variacao”]; var Cotacoeuro=json[“欧元”][“科塔科”]; var VariacaoEuro=json[“euro”][“variacao”]; var-Atualizacao=json[“Atualizacao”]; obj=req.query; DolarUsuario=obj['dolar']; realusario=数字(obj['dolar'])*共同规则; EuroUsuario=obj[‘欧元’]; RealUsuario2=数字(obj[‘欧元’)*科塔科埃罗; Oi=1*VariacaoDolar; Oi2=1*欧元;
if(VariacaoDolar访问上述数据结构中的数据,特别是数组'data'中的数据。您可以使用以下语法

以下假设您的数据存储在名为
json
的变量中

json.dataset.data[0]
您可以使用
[0]
访问数组的第一个元素,这意味着访问数组中的第一个元素。数组索引从0开始

如果您想更深入,上面的代码将返回以下内容

[ '2016-01-20', 14.25 ]
json.dataset.data[0][0]
2016-01-20
json.dataset.data[0][1]
14.25
如果您想访问日期,可以使用以下命令

[ '2016-01-20', 14.25 ]
json.dataset.data[0][0]
2016-01-20
json.dataset.data[0][1]
14.25
它将返回以下内容

[ '2016-01-20', 14.25 ]
json.dataset.data[0][0]
2016-01-20
json.dataset.data[0][1]
14.25
如果要访问另一个值,可以使用以下命令

[ '2016-01-20', 14.25 ]
json.dataset.data[0][0]
2016-01-20
json.dataset.data[0][1]
14.25
它将返回以下内容

[ '2016-01-20', 14.25 ]
json.dataset.data[0][0]
2016-01-20
json.dataset.data[0][1]
14.25