微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Swift只获取JSON数据的一部分?

如何解决如何使用Swift只获取JSON数据的一部分?

我正在尝试使用swift从API JSON格式中获取数据。 API数据具有以下结构:

{
    "Meta Data": {
        "1. information": "InTraday (5min) open,high,low,close prices and volume","2. Symbol": "IBM","3. Last Refreshed": "2020-08-20 19:05:00","4. Interval": "5min","5. Output Size": "Compact","6. Time Zone": "US/Eastern"
    },"Time Series (5min)": {
        "2020-08-20 19:05:00": {
            "1. open": "123.2000","2. high": "123.2000","3. low": "123.2000","4. close": "123.2000","5. volume": "204"
        },"2020-08-20 18:50:00": {
            "1. open": "123.2000","5. volume": "100"
        },"2020-08-20 18:45:00": {
            "1. open": "123.2000","2020-08-20 18:40:00": {
            "1. open": "123.1500","2. high": "123.1500","3. low": "123.1500","4. close": "123.1500","5. volume": "100"
        }
    }
}


问题: 有什么办法只能获取最后一个(最新)例如两个“时间序列”值?

我的详细问题: 上面的示例仅简化为4个值。实际上,它可能具有50.000值。到目前为止,我唯一的想法是将所有数据提取到字典中。由于无法对字典进行排序,因此我不得不根据字典对数组进行排序。然后,我必须遍历数组并仅保存前x个元素。由于有50.000个值,因此此过程非常耗时,费力和性能。因此,最好是找到一种“实时”获取最新x数据的方法

解决方法

问题:是否有任何方法只能获取最后(最新)信息,例如两个“时间序列”值?

答案:否。

要获取最新记录,无论如何都必须获取完整的数据集。

用作字典关键字的日期格式是可排序的。获取字典键,对它们进行降序排序,然后获取第一个键的值。


请阅读documentation of the API。有一个outputsize参数,可以将其设置为仅获取最新的100条记录(outputsize=compact

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。