I can't get alamofire to work on Xcode. I'm trying to json parse yahoo API and it won't work . for start i jut wanted to parse and print one element in of "struct Stock: Codable " which is "symbol"
any help would be appreciated
import UIKit
import SwiftUI
import UserNotifications
import Alamofire
struct QuoteParent: Codable {
var quoteResponse: QuoteResponse
init() {
quoteResponse = QuoteResponse()
}
}
struct QuoteResponse: Codable {
var error: QuoteError?
var result: [Stock]?
init() {
error = nil
result = []
}
}
struct QuoteError: Codable {
var lang: String?
var description: String?
var message: String?
var code: Int?
init() {
lang = ""
description = ""
message = ""
code = 0
}
}
struct Stock: Codable {
var language : String?
var region : String?
var quoteType : String?
var typeDisp : String?
var quoteSourceName : String?
var triggerable : String?
var customPriceAlertConfidence : String?
var exchange : String?
var exchangeTimezoneName : String?
var exchangeTimezoneShortName : String?
var gmtOffSetMilliseconds : String?
var market : String?
var esgPopulated : String?
var marketState : String?
var firstTradeDateMilliseconds : String?
var priceHint : String?
var preMarketTime : String?
var preMarketPrice : String?
var regularMarketTime : String?
var regularMarketPrice : String?
var fullExchangeName : String?
var sourceInterval : String?
var exchangeDataDelayedBy : String?
var tradeable : String?
var symbol : String?
}
here is my code at the JSONDecoder line it throw me to catch error
thank you
let url = "https://query1.finance.yahoo.com/v7/finance/quote?lang=en-US®ion=US&corsDomain=finance.yahoo.com&symbols=FB"
var quoteParent = QuoteParent()
let req = AF.request(url, parameters: ["quoteResponse": "result"])
req.responseData { (response) in
guard let data = response.value else {return}
do {
quoteParent = try JSONDecoder().decode(QuoteParent.self, from: data)
let stock = quoteParent.quoteResponse.result?[0]
let symbol = stock?.symbol?.uppercased() ?? ""
print(symbol)
} catch {
print(error)
}
}