微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift 解析取得json中的数据

搞了两天解析返回的json数据终于出来了,下面就方向给大家


用到了第三的类库

SwiftHTTP (https://github.com/daltoniam/SwiftHTTP)做request get,post,put 等

SwiftJson(https://github.com/SwiftyJSON/SwiftyJSON) 讲返回的数据解析为json


关于第三方类库的引用网上文章很多 ,有不清楚的可以在评论里问我


下面说一下关键代码


//接受返回得来的数据转为json

var ggg =JSON(NSJSONSerialization.JSONObjectWithData(data,options:NSJSONReadingOptions.AllowFragments,error:nil)!)


println("fffffffffffffffffff")

println(ggg)


//这个是我接回来打印出来的json数据

{"msg":"success",


"dat":[

{"resid":"sc201255","fname":"姓名","lname":"PI","starttime":"3347","endtime":"3347","summary":"aaa","name":"S01","perm_modify":"1","perm_delete":"1","memberid":"485e138c89c"},



{"resid":"sc20150508161458","lname":"PIN","starttime":"3540","endtime":"3345","summary":"","memberid":"e138c89c"}]}


// 现在我要取出 dat中第一条里的 startime 如下


println(ggg["dat"][0]["starttime"])


//输出结果如下

3540


看起来是个比较简单的东西,不知道的话还是废了好久的时间,哈哈,接触swift 一个星期了终于能弄出点东西了,哈哈,有需要交流的给我留言啊,再提一句,github真心是个学习的好小编。


//我是放在一个工程的

viewDidLoad()里来实现的,其实就是为了最快的看到测试的结果,过几天把我的整个工程放到github上,到时再发布地址给大家吧



//一下是全部关键代码

overridefunc viewDidLoad() {

super.viewDidLoad()


var request = HTTPTask()

var params:Dictionary<String,AnyObject> = ["datetest":"14200","roomtest":"SH01","scheduleidtest":"sc15e5025f3d"]

//http://

request.GET("http://11.1.1.1..:8088/api/values/?sqlname=SELECT,parameters: params,success: {(response:HTTPResponse)in

iflet data = response.responSEObjectas?NSData {

println("bbb\(count)")

let str =Nsstring(data: data,encoding:NSUTF8StringEncoding)

println("response:\(str)")//prints the HTML of the page

let jsonss =JSON(str!)

println(jsonss)

var jjj:AnyObject =NSJSONSerialization.JSONObjectWithData(data,options:NSJSONReadingOptions.AllowFragments,error:nil)!

println(NSJSONSerialization.JSONObjectWithData(data,error: nil))


var ggg =JSON(NSJSONSerialization.JSONObjectWithData(data,error:nil)!)


println("fffffffffffffffffff")

println(ggg)

println(ggg["dat"][1]["starttime"])

println(ggg["dat"][0]["starttime"])

println(ggg.count)

}

},failure: {(error:NSError,response:HTTPResponse?) in

// println("error: \(error)")

})

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐