簡體   English   中英

錯誤:類型'((鍵:字符串,值:任何)''沒有下標成員帶有json

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM