在Swift中映射复杂的JSON模型?

时间:2016-05-22 18:17:11

标签: json swift

我可以在JSON中获得响应,但似乎无法映射到mutArray。

    BaseHttpRequest.shareInstance.myGET(detailURL, parameters: kid) { (response) in

        var mutArray = Array <KingdomDetail> ()

        if response is Array <JSON> {

            for jsonObj in response as! Array<JSON> {

                if let kingdomDetailList = KingdomDetail(json: jsonObj) {
                    mutArray.append(kingdomDetailList)
                } else {
                    print("nothing")
                }
            }
        }
        success(success: mutArray)
    }        

1 个答案:

答案 0 :(得分:0)

看起来您正在使用SwiftyJSON。如果是这样,您可以使用arrayValue生成一个带有空数组的JSON数组作为回退值。

for kingdomDetailList in response.arrayValue.flatMap({ KingdomDetail(json: $0) })  {
    mutArray.append(kingdomDetailList)
}

您可能还想确保您的JSON映射是正确的。这个数组可能包含一个键控值。在这种情况下,您需要在将其发送到初始化程序时引用它。

response["kingdom_detail_list"].arrayValue ...