我试图仅解析与某个“market_name”相关的信息,但我似乎无法弄清楚如何。 api位于https://stocks.exchange/api2/ticker,显示与整个交易所相关的信息。我只需要返回与我正在搜索的“market_name”相关的所有信息,例如ETH_BTC
的Ajax:
$.ajax({
url: "https://stocks.exchange/api2/ticker",
dataType: 'json',
success: function(data) {
last = data.last;
console.log(last);
$("#btcprice").text(last);
},
error: function() {
//alert("Was unable to get info!");
}
});
答案 0 :(得分:1)
那是因为data
是一个对象数组,而不是一个对象。
尝试:
$.ajax({
url: "https://stocks.exchange/api2/ticker",
dataType: 'json',
success: function (data) {
// find object
var market = data.find(function (obj) {
return obj.market_name == 'ETH_BTC';
});
$("#btcprice").text(market.last);
},
error: function() {
//alert("Was unable to get info!");
}
});
答案 1 :(得分:1)
使用数组filter()方法过滤掉2
为market_name
的记录。
ETH_BTC
<强>样本强>
array.filter(obj => {
return obj.market_name == 'ETH_BTC'
});
&#13;
答案 2 :(得分:0)
$.ajax({
url: "https://stocks.exchange/api2/ticker",
dataType: 'json',
success: function(data) {
var results = [];
var searchField = "market_name";
var searchVal = "ETH_BTC";
for (var i=0 ; i < data.length ; i++)
{
if (data[i][searchField] == searchVal) {
results.push(data[i]);
}
}
$("#btcprice").text(results[0].last);
},
error: function() {
//alert("Was unable to get info!");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
这是一个简单的代码,您可以根据需要静态或动态地更改searchVal ......