ios – Swift:使用Alamofire和SwiftyJSON处理JSON

ios – Swift:使用Alamofire和SwiftyJSON处理JSON,第1张

概述这肯定会被问过几次,但我还没有找到正确的答案,尽管我一直很努力. 我使用Alamofire和SwiftyJSON,我的JSON数据看起来像这样: { "528" : { "name" : "Name 1", "id" : "528", "product_id" : null, "visible" : "0", "level" : "2" }, " 这肯定会被问过几次,但我还没有找到正确的答案,尽管我一直很努力.

我使用Alamofire和@L_502_0@yJsON,我的JsON数据看起来像这样:

{  "528" : {    "name" : "name 1","ID" : "528","product_ID" : null,"visible" : "0","level" : "2"  },"29" : {    "name" : "name 2","ID" : "29","visible" : "1","level" : "1"  },"173" : {    "name" : "name 3","ID" : "173","143" : {    "name" : "name 4","ID" : "143",

…使用此代码:

Alamofire.request(.GET,dataURL,parameters: nil,enCoding: .JsON)    .responseJsON { (request,response,JsonData,error) in        let Json = JsON(JsonData!)         println(Json)    }

…所以JsON一切都应该没问题

>我如何访问该数据?我的意思是我如何获得名称,ID,product_IDs等
>我如何将该数据(名称)放入我的tableVIEwController?

解决方法 我在我的一个项目中使用了SwiftyJsON和Alamofire.这是我如何使用它.

>创建一个名为APIProtocol的协议.
>使用GET方法设置API类,该方法接受APIProtocol类型的委托.
>设置tableVIEwController以实现APIProtocol.
>从tableVIEwController调用API.get()

// Step 1protocol APIProtocol {  func dIDReceiveResult(results: JsON)}// Step 2func get(path: String,parameters: [String: AnyObject]? = nil,delegate: APIProtocol? = nil){  let url = "\(self.hostname)\(path)"  NSLog("Preparing for GET request to: \(url)")  Alamofire.request(.GET,url,parameters: parameters)    .responseJsON { (req,res,Json,error) in      if(error != nil) {        NSLog("GET Error: \(error)")        println(res)      }      else {        var Json = JsON(Json!)        NSLog("GET Result: \(Json)")        // Call delegate if it was passed into the call        if(delegate != nil) {            delegate!.dIDReceiveResult(Json)        }      }    }}// Step 3class ActivityVIEwController: UItableVIEwController,APIProtocol {  var activityModelList: NSMutableArray = [] // This is the array that my tableVIEw is using.  ...   func dIDReceiveResult(result: JsON) {    var activitIEs: NSMutableArray = []    NSLog("Activity.dIDReceiveResult: \(result)")    for (index: String,activity: JsON) in result {      var activityModel = ActivityModel(        ID: activity["ID"].intValue,message: activity["message"].stringValue      )      activitIEs.addobject(activityModel)    }    // Set our array of new models    activityModelList = activitIEs    // Make sure we are on the main thread,and update the UI.    dispatch_sync(dispatch_get_main_queue(),{      self.refreshControl!.endRefreshing()      self.tableVIEw.reloadData()    })  }}// Step 4overrIDe func vIEwDIDLoad() {  MyAPI.get("/activitIEs",delegate: self)}
总结

以上是内存溢出为你收集整理的ios – Swift:使用Alamofire和SwiftyJSON处理JSON全部内容,希望文章能够帮你解决ios – Swift:使用Alamofire和SwiftyJSON处理JSON所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1102217.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存