[英]Error: Type '(key: String, value: Any)' has no subscript members with json
我是Swift 3的新手,而json存在這個問題,這是我的功能,我不知道這是否是正確的方法
public static func parseResultsJSON(responseCars: [String : Any?]) -> Array<MisAutos>{
var arrayMisAutos : [MisAutos] = [MisAutos]()
if responseCars.count > 0{
if let jArrayCars = responseCars[KeyWords.INFORMACION_G] as? [String : Any] {
for jObjectCars in jArrayCars{
let cars : MisAutos = MisAutos()
cars.setAgAuto(agAuto: jObjectCars[KeyWords.AG_AUTO] as! String)
cars.setMarca(marca: jObjectCars[KeyWords.MARCA] as! String)
cars.setModelo(modelo: jObjectCars[KeyWords.MODELO] as! String)
cars.setAgTipo(agTipo: jObjectCars[KeyWords.Ag_TIPO] as! String)
cars.setNoSerie(noSerie: jObjectCars[KeyWords.NO_SERIE] as! String)
cars.setUrlImage(urlImage: jObjectCars[KeyWords.ARRAY_IMAGES] as! [Int : String])
cars.setPlacas(placas: jObjectCars[KeyWords.PLACAS] as! String)
arrayMisAutos.append(cars);
}
}
}
return arrayMisAutos;
}
這是我的json
["Info": Optional(<__NSArrayM 0x618000054580>(
{
id = 1;
"type" = a;
name = ACURA;
Model = ILX;
images = (
"werewr.werewr/images/image0.jpg",
"werwer.werwer/images/image1.jpg",
"werwer.werwer/images/image2.jpg",
"werwer.werwer/images/image3.jpg"
);
},
{
id = 2;
"type" = b;
name = BMW;
Model = X6;
images = (
"werewr.werewr/images/image0.jpg",
"werwer.werwer/images/image1.jpg",
"werwer.werwer/images/image2.jpg",
"werwer.werwer/images/image3.jpg"
);
}
)
), "AutosPlan": Optional(3), "success": Optional(1)]
謝謝!
您的輸入參數錯誤。 它應該是字典的數組,而不僅僅是字典。 代替這個:
public static func parseResultsJSON(responseCars: [String : Any]) -> Array<MisAutos>{
你需要這個:
public static func parseResultsJSON(responseCars: [[String : Any]]) -> Array<MisAutos>{
這些值也不應該是可選的。 您也不應使用強制轉換,除非您100%的JSON響應始終正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.