iOS网络编程4--使用SwiftyJSON解析JSON数据
来源:互联网 发布:淘宝铁观音卖家 编辑:程序博客网 时间:2024/05/16 07:19
iOS网络编程4—解析JSON(使用SwiftyJSON)
一、苹果公司提供NSJSONSeralization解析数据,但是每一步都比较麻烦。
使用SwiftyJSOND的主要特点:在获取多层次结构JSON数据时,不需要这个和下一个节点存不存在,对于option类型会自动进行拆包,用很少的代码即可以获取数据。
SwityJSON的使用介绍:传送门英文介绍
一、使用一般的swift语言直接解析JSON示例部分代码如下
这里我们使用一个百度的天气预报API接口,地址:http://api.map.baidu.com/telematics/v3/weather?location=%E5%90%88%E8%82%A5&output=json&ak=wl82QREF9dNMEEGYu3LAGqdU
代码截图:
源代码:
let url = NSURL(string: "http://api.map.baidu.com/telematics/v3/weather?location=%E5%90%88%E8%82%A5&output=json&ak=wl82QREF9dNMEEGYu3LAGqdU") ///使用alamofire进行网络请求 let jsonRequest = Alamofire.request(.POST, url!, parameters: nil, encoding: ParameterEncoding.JSON, headers: nil) jsonRequest.responseJSON { response in//在闭包里面对数据解析 print(response.request)//可以得到URL print("response.data数据为:\(response.data)") //response.data的数据为一群数字流 let json = JSON(data: response.data!)//得到json数据,并转换 print("json解析后数据为:\(json)") print("responses数据:",response) print("response.result.value的值:",response.result.value) //获取天气 var path = ["results",0,"weather_data",0,"weather"] let weather = json["results",0,"weather_data",0,"weather"].string print("天气是:",weather!) }
response.data中的数据:
解析json后的数据
直接输出response:
获取到目标数据:
具体输出语句看代码
XML、JSON介绍:伯乐在线-掌握XML、JSON极其解析
学习参考:航哥—SwiftyJSON的使用详解
航哥—解析JSON数据(自带内部类和SwiftyJSON)
学习中遇到的问题:
1、 URL问题: 在将网络上的API接口(打开网页后)URL复制过来的,URL中部分编码进行了转换,转换为了中文,所以导致url不对,会导致一个错误提示:EXEC_BAD_ACCESS 这个问题代表内存泄露,释放不存在的对象,这里是因为URL地址(赋值后转换导致)不存在
【提示】:使用API接口时,有时候使用打开后的网页URL有可能不对
比如APL接口为:http://api.map.baidu.com/telematics/v3/weather?
location=%E5%90%88%E8%82%A5&output=json&ak=wl82QREF9dNMEEGYu3LAGqdU
打开网页后的为:http://api.map.baidu.com/telematics/v3/weather?location=合肥&output=json&ak=wl82QREF9dNMEEGYu3LAGqdU
注意:划线部分不同的(是不是URL中含有中文的原因???)
2、 URL问题:使用Alamofire时用到的url.如果是将完整URL放在url参数中,不管parameters为什么都可以得到数据,但是如果将URL分开(把参数提出来放在parameters中,怎么的不导数据,会出错)【为什么了????】
解决:暂且将整个URL直接用在url参数中,可以请求成功。
- iOS网络编程4--使用SwiftyJSON解析JSON数据
- Swift开发:使用SwiftyJSON解析JSON数据
- 使用SwiftyJSON解析JSON
- swift:使用NSJSONSerialization和SwiftyJSON两种方法解析网络返回的json格式数据
- 网络编程--JSON数据解析
- swift:使用第三方开源库SwiftyJSON解析本地json数据文件
- iOS网络编程3—JSON解析
- iOS 网络编程 (四)JSON解析
- iOS 网络数据请求和Json 解析
- 【iOS开发-网络】解析json数据
- ios网络数据下载和JSON解析
- 网络编程-json数据的解析
- iOS 网络JSon解析使用框架
- iOS网络编程开发笔记1—JSON和XML数据解析
- Android网络数据JSON解析使用总结
- iOS网络编程开发—JSON解析与XML解析
- iOS网络编程:网络交互数据格式解析之json
- iOS开发: 网络解析数据之JSON解析
- 大数据比赛(2)-特征那点儿事
- Android Studio 集成版本控制工具的使用
- java的web开发浏览器onbeforeunload事件
- The 5th Zhejiang Provincial Collegiate Programming Contest(ZOJ2965—ZOJ2976)
- C#类反射,运行时创建类对象,读取设置属性值列子。
- iOS网络编程4--使用SwiftyJSON解析JSON数据
- dm pieces
- 互联网从业人员跳槽手册
- yahoo(雅虎)工程师提供css 初始化代码
- visual studio code
- 《疯狂Java讲义(第3版)》.(李刚)——8大排序
- 摄像头ov2685中关于sensor id 设置的相关的寄存器地址
- AS不同渠道使用不同图片
- Tire树