获取JSON元素swift

时间:2016-12-20 13:50:50

标签: json swift dictionary

我正在使用Swift接收以下JSON文件,我无法弄清楚如何获取JSON中的详细信息元素

public class students {

    let id: Int32
    let history: String?

    init(id:Int32, history:String) {
        self.id = id
        self.history = name

    }
}

我创建了这个类,我可以使用它来检索id和历史记录,但不能检索详细信息。如何在ID和历史记录中包含详细信息?

var dataArray = [students]()

    Alamofire.request(.GET, url)
        .responseJSON { response in

            if let value: AnyObject = response.result.value {

                let json = JSON(value)
                if let items = json.array {
                    for item in items {
                           self.dataArray.append(students(
                            id: item["id"].int32!,
                            history: item["history"].string!))

                            let cItems = item["details"].array
                                for citem in citems {
                                    //here
                                }
                    }
                }
            }
    }

以下是我的网络服务代码。

{{1}}

1 个答案:

答案 0 :(得分:1)

你的学生模特应该是这样的。

let id: Int32
let history: String?
let details: Array<[String:AnyObject]>
init(id:Int32, history:String,details:Array<[String:AnyObject]>) {
    self.id = id
    self.history = name
    self.details= details //need a cast here!
}

这是一个简单的解析器,我用于一个项目来转换你的数组&lt; [String:AnyObject]&gt;当你

func collection(data:[[String:AnyObject]]) -> [yourModel] {

        var objectArray: [yourModel] = []

        for d in data {

            let obj = yourModel(data: d as [String: AnyObject]) // i created a initializer for this object here on my project.

            objectArray.append(obj)

        }

        return objectArray

}

希望给出一个想法!