如何继续错误的Alamofire JSON PARING,其中一个记录中有丢失的项目?
我想知道如何继续一个错误的Alamofire JSON PARING,该paring在JSON的一个记录中有一个缺少的项目?
在记录号61中找不到“ QuotesourCename”。我仍然想继续 解析相同的记录和剩余记录。并在当地对验证进行验证,
这
gReq = AF.request(gURL1, parameters: ["quoteResponse": "result"])
gReq.responseData { (gResponse) in
guard let data = gResponse.value else {return}
do {
let str4 = String(data: data, encoding: .utf8)
gQuoteParent11 = try JSONDecoder().decode(QuoteParent.self, from: data)
} catch {
gEr1 = String(describing: error)
是结构
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 = ""
var region = ""
var quoteType = ""
var typeDisp = ""
var quoteSourceName = ""
var triggerable : Bool?
var customPriceAlertConfidence = ""
var exchange = ""
var exchangeTimezoneName = ""
var exchangeTimezoneShortName = ""
var gmtOffSetMilliseconds : Double?
var market = ""
var esgPopulated : Bool?
var marketState = ""
var firstTradeDateMilliseconds : Double?
var priceHint : Int?
var preMarketTime : Int?
var preMarketPrice : Double?
var regularMarketTime : Int?
var regularMarketPrice : Double
var fullExchangeName = ""
var sourceInterval : Int?
var exchangeDataDelayedBy : Int?
var tradeable : Bool?
var symbol = ""
init() {
regularMarketPrice = 0.0000001
}
}
I wanted to know how to continue an errored Alamofire json paring that has a missing item in one of the json's records?
key not found "quoteSourceName" in record number 61 . i still want to continue
parsing the same record and the remaining record . and ill do the validation locally
thank you
gReq = AF.request(gURL1, parameters: ["quoteResponse": "result"])
gReq.responseData { (gResponse) in
guard let data = gResponse.value else {return}
do {
let str4 = String(data: data, encoding: .utf8)
gQuoteParent11 = try JSONDecoder().decode(QuoteParent.self, from: data)
} catch {
gEr1 = String(describing: error)
this is the structure
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 = ""
var region = ""
var quoteType = ""
var typeDisp = ""
var quoteSourceName = ""
var triggerable : Bool?
var customPriceAlertConfidence = ""
var exchange = ""
var exchangeTimezoneName = ""
var exchangeTimezoneShortName = ""
var gmtOffSetMilliseconds : Double?
var market = ""
var esgPopulated : Bool?
var marketState = ""
var firstTradeDateMilliseconds : Double?
var priceHint : Int?
var preMarketTime : Int?
var preMarketPrice : Double?
var regularMarketTime : Int?
var regularMarketPrice : Double
var fullExchangeName = ""
var sourceInterval : Int?
var exchangeDataDelayedBy : Int?
var tradeable : Bool?
var symbol = ""
init() {
regularMarketPrice = 0.0000001
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论