是否有一种方法可以避免空对象,以确保可解码的JSON起作用?我已经附加了JSON图片。
import UIKit
struct SearchResultData: Decodable {
let server_response_time: Int
let data: [SearchResultType]
let success: Bool
}
struct SearchResultType: Decodable {
let group: String
let data: [Movie]
}
struct Movie: Decodable {
let title: String
}
运行该应用程序时出现此错误。
无法解码JSON:keyNotFound(CodingKeys(stringValue:“ title”,intValue:nil),Swift.DecodingError.Context(codingPath:[CodingKeys(stringValue:“ data”,intValue:nil),_JSONKey(stringValue:“索引2“,intValue:2),CodingKeys(字符串值:”数据“,intValue:nil),_ JSONKey(stringValue:”索引0“,intValue:0)],debugDescription:”没有与键CodingKeys相关联的值(stringValue:\ “ title \”,intValue:零)(\“ title \”)。“,底层错误:nil))
答案 0 :(得分:2)
此
:“没有与键CodingKeys相关联的值(stringValue:\“ title \”,intValue:nil)(\“ title \”)。“,底层错误:nil))
意味着title
在某些部分是nil
,所以做到
let title: String?
您可能还需要
let data: [SearchResultType?]
因为data
键还包含一些空值
答案 1 :(得分:1)
只需将Item ID Product ID Description Instock List Price Totalcost Button
---------------------------------------------------------------------------------------------------------------------------------
EST-1 FI-SW-01 Large Angelfish $16.50 Add to Cart
EST-2 FI-SW-01 Small Angelfish $16.50 Add to Cart
Description for Item ID is Large Angelfish
Item ID is EST-1
structs
debugDescription:“与键CodingKeys(stringValue:\“ title \”,intValue:nil)(\“ title \”)。“,underlyingError:nil))相关联的值<-正如此行所说