gpt4 book ai didi

ios - 如何使用 SwiftyJSON 从 JSON.Element 获取元素

转载 作者:行者123 更新时间:2023-11-28 06:01:03 25 4
gpt4 key购买 nike

我正在尝试创建一个股票分析警报应用程序,我想从来自 Alpha Vantage API 的 JSON 响应中获取第一个结果。我使用以下代码来这样做。

    @IBAction func saveIsPressed(_ sender: UIButton) {

if let ticker = tickerTextField.text, let indicator = indicatorTextField.text, let timeInterval = timeIntervalTextField.text, let seriesType = seriesTypeTextField.text, let timePeriod = timePeriodTextField.text {
stock.ticker = ticker
stock.indicator = indicator
stock.timeInterval = timeInterval
stock.seriesType = seriesType
stock.timePeriod = timePeriod



print(stock.url)

Alamofire.request(stock.url, method: .get).responseJSON { response in

if response.result.isSuccess {

print("Success")
let stockJSON:JSON = JSON(response.result.value!)
print("Printing JSON")
print(stockJSON)

print("Printing Get Data")
self.getData(json: stockJSON)


} else {

print("Result wasn't a success")
}


}



}




}

func getData(json:JSON){

if let data = json["Technical Analysis: BBANDS"].first {

print(data)



}

}

问题出在 getData 方法上,我只想访问请求中的最新元素,所以我使用 json["Technical Analysis: BBANDS"].first 总是从请求中获取第一个对象,但是在这个对象,还有我想访问的其他三个对象。此 JSON API 请求返回以下代码:

 ("2018-04-05 15:45", {
"Real Upper Band" : "1045.9855",
"Real Middle Band" : "1018.0134",
"Real Lower Band" : "990.0413"
})

该结果来自 getDataJSON.first 方法,并且由于我已经访问了请求的第一个元素,所以我想进一步访问它并访问前者中的其他三个元素,即 Middle、Lower 和 Upper Bands对象,但是我找不到这样做的方法,因为它返回一个不允许下标的 JSON.Element。获取请求的第一个元素然后访问该第一个元素的元素的最佳方法是什么。

最佳答案

如果我理解正确的话,你可以这样做:

if let mostRecentElement = json["Technical Analysis: BBANDS"].max(by: { $0.0 < $1.0 }) {
let dateString = mostRecentElement.0
let values = mostRecentElement.1
}

关于ios - 如何使用 SwiftyJSON 从 JSON.Element 获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49719632/

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