gpt4 book ai didi

javascript - 具有动态数组名称的数据表 JSON

转载 作者:搜寻专家 更新时间:2023-10-31 20:58:30 24 4
gpt4 key购买 nike

我正在尝试将以下引用 JSON 提取到数据表中。我遇到的问题是每只股票的数据都在它自己的数组中,并且数组名称(代码)是动态的。在此示例中,仅列出了 3 只股票,但 JSON 通常包含大约 100 只股票。

我已经能够使用下面的脚本通过定位特定股票来显示单行,但由于每只股票不是一个对象而是一个数组,我不能简单地键入 0(即 { "data": "< strong>0.quote.symbol"}) 用于四列中的每一列,以使用 JSON 中的所有股票填充表。有没有一种方法可以引用当前形式的 JSON?如果不是,我如何转换它以使其成为可访问的格式?

提前致谢!

    $(document).ready(function() {
var table = $('#headlines-table').DataTable( {
"ajax": {
"url": '/php/rt.php',
"dataSrc": "data",
},
"columns": [
{ "data": "AAPL.quote.symbol" },
{ "data": "AAPL.quote.latestPrice" },
{ "data": "AAPL.quote.latestVolume" },
{ "data": "AAPL.quote.avgTotalVolume" }
]
} );
} );

JSON 输入:

{"data":[{
"AAPL":{"quote":{"symbol":"AAPL","latestPrice":172.5,"latestVolume":17376726,"avgTotalVolume":33742427}},
"BA":{"quote":{"symbol":"BA","latestPrice":326.63,"latestVolume":3383911,"avgTotalVolume":6309861}},
"CA":{"quote":{"symbol":"CA","latestPrice":34.45,"latestVolume":1397950,"avgTotalVolume":2698759}}
}]}

rt.php:

$json = file_get_contents('https://api.iextrading.com/1.0/stock/market/batch?types=quote&filter=symbol,latestPrice,latestVolume,avgTotalVolume&symbols=aapl,ba,ca');
$data[data] = array(json_decode($json));
$obj = json_encode($data);
echo $obj;

最佳答案

您的问题是,您的结果是数组第一项中的一种字典。您可以在 dataSrc 回调中清理数据:

var table = $('#headlines-table').DataTable( {
ajax: {
url: '/php/rt.php',
dataSrc: function(d) {
var result = [];
for (var prop in d.data[0]) {
result.push(d.data[0][prop].quote);
}
return result;
}
},
columns: [
{ data: "symbol" },
{ data: "latestPrice" },
{ data: "latestVolume" },
{ data: "avgTotalVolume" }
]
})

上面返回的是表单上的一个数组

[{ symbol: '..', latestPrice: '..' , latestVolume: '..', .. }, { .. }, ..]

这是一个演示 -> http://jsfiddle.net/2umtx1a7/

关于javascript - 具有动态数组名称的数据表 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49783558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com