使用eval()解析JSON数据的问题

时间:2018-01-26 12:11:28

标签: javascript json eval kde-plasma

对于使用exchange api urls和json keys从交换API获取价格的小部件:

var Url = 'https://insert.api.url/';
var Key = 'insert.json.key';

request(Url, function(req) {
    var data = JSON.parse(req.responseText);
    var rate = eval("data." + Key); 
    callback(rate);
    });
    return true;
}

function request(Url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = (function(xhr) {
        return function() {
            callback(xhr);
        }
    })(xhr);
    xhr.open('GET', Url, true);
    xhr.send();
}

这适用于某些API,例如:

var Url = 'https://api.kraken.com/0/public/Ticker?pair=XBTUSD';
var Key = 'result.XXBTZUSD.c[0]';

但在某些情况下它不起作用,例如:

var Url = 'https://api.coinmarketcap.com/v1/ticker/bitcoin/';
var Key = '0[price_usd]';

我的“预期令牌”出现了eval()错误。

我该如何解决这个问题?

0 个答案:

没有答案