使用SwiftyJSON解析JSON
因为Swift对于类型有非常严格的控制,它在处理JSON时是挺麻烦的,因为它天生就是隐式类型。SwiftyJSON是一个能帮助我们在Swift中使用JSON的开源类库。开始之前,让我们先看一下在Swift中处理JSON是多么痛苦。
下载地址:https://github.com/lingoer/SwiftyJSON
下面将解析http://api.smemo.info/test.php/Index/jsonTest?type=3这个JSON数据。
//SwiftyJson
//获取json
var apiData:NSData!=NSData(contentsOfURL: NSURL(string: "http://api.smemo.info/test.php/Index/jsonTest?type=3")!, options: NSDataReadingOptions.DataReadingUncached, error: nil)
//make json object
var result=NSString(data: apiData, encoding: NSUTF8StringEncoding)
var error:NSError?
println(result)
//生成json字段
let json=JSON(data: apiData, options: NSJSONReadingOptions.allZeros, error: &error);
//解析字段
if let language=json["language"].stringValue{
println("lanauage:\(language)")
}
if let title=json["user"]["title"].stringValue{
println("user title:\(title)")
}
if let url=json["user"]["url"].stringValue{
println("user url:\(url)")
}
//解析数组
if let dataArray = json["data"].arrayValue{
println(dataArray.description)
//遍历数组
for item in dataArray{
println(item.description)
//解析数组内的字段
if let type=item["name"].stringValue{
println("type:\(type)")
}
if let type=item["form"].stringValue{
println("form:\(type)")
}
if let type=item["type"].stringValue{
println("type:\(type)")
}
}
}
//解析字段以及下面的数组
if let extra = json["extra"]["type"].stringValue{
println("extra type:\(extra)")
}
//解析字段内的数组
if let dataArray = json["extra"]["data"].arrayValue{
println(dataArray.description)
//遍历数组
for item in dataArray{
println(item.description)
//解析数组内的字段
if let type=item["name"].stringValue{
println("extra type:\(type)")
}
if let type=item["form"].stringValue{
println("extra form:\(type)")
}
if let type=item["type"].stringValue{
println("extra type:\(type)")
}
}
}
使用SwiftyJSON解析JSON相关推荐
- 25.SwiftyJSON转换JSON的注意
在Swift当中, 如果我们需要解析JSON数据的话, 我们需要用上一堆代码才能解析, 而且解析之后还不一定可以正常运行, 这里提供一个第三方的SwiftyJSON, 可以防止我们在解析JSON数据的 ...
- ios5中apple增加了解析JSON的api——NSJSONSerialization。
ios5中apple增加了解析JSON的api--NSJSONSerialization.网上已经有人做过测试,NSJSONSerialization在效率上完胜SBJSON.TouchJSON.YA ...
- 深入分析jquery解析json数据
我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. JSON数据如下,是一个嵌套JSON: {"comments":[{& ...
- json java typeof_java解析json
1:下载另外一个Java的小包就可以了: http://www.JSON.org/java/json_simple.zip 里面有源码和文档例题和编程的lib包:编程只需要json_simple.ja ...
- 在C语言中解析json配置文件
业务需求 在C或者C++项目中常常需要解析配置文件,我们常见的配置文件格式一般就是.ini,xml,lua或者是一般的text文件,这些格式比较恼人的一个问题就是数据格式过于冗余,或者功能不够强大,不 ...
- winform解析json
在使用C#开发爬虫程序时,会遇到需要解析json字符串的情况.对于json字符串可以使用正则表达式的形式进行解析,更为方便的方法是使用Newtonsoft.Json来实现. Nuget添加应用包 在工 ...
- spark- PySparkSQL之PySpark解析Json集合数据
PySparkSQL之PySpark解析Json集合数据 数据样本 12341234123412342|asefr-3423|[{"name":"spark", ...
- 在.NET2.0中解析Json和Xml
在.NET2.0中解析Json和Xml 在.NET解析json有很多方法,这里介绍最简单也用的最多的一种. 一.添加引用 解析Json,先下载开源控件 Newtonsoft.Json.dll 下载地址 ...
- json解析:[1]gson解析json
客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fas ...
最新文章
- 12款优秀的 JavaScript 日历和时间选择控件
- 关于并发数与在线数的概念
- android 圆形边框填充颜色,如何在android中表示多种颜色的圆形边框
- moba寻路_MOBA代号105:道具收费 加入自动寻路等MMO元素
- 用python做时间序列预测一:初识概念
- 如何用 Excel 制作二维码
- Java面试宝典2018
- Emmagee 2.5 在MUMU模拟器上启动后直接失败,换成夜神模拟器可以正常使用
- 数据结构队列顺序循环队列、加入、删除、取头元素
- openSUSE:下载帮助
- 蘑菇街 App 的组件化之路·续
- WinINet 与 WinHTTP简介
- 用友财务帐套升级:T3升级U8
- python派森编程软件_派森Python官方下载_派森Python最新版_派森Python官方版-华军软件园...
- scons与Madagascar!
- 固定资产管理条码系统是什么
- ❀工信工实验参考——《模电课设人体感应LED灯》
- 大厂与小厂招人的区别,看完多少有点不敢相信
- 五 、Kotlin学习之命名参数默认参数
- Linux目录配置与FHS标准
热门文章
- MVC.Net: 解决Attempted to access an unloaded appdomain的问题
- 性能测试结果分析结果
- 在CMD中输入adb命令,提示“‘adb‘ 不是内部或外部命令,也不是可运行程序或批处理文件”的解决方法
- Android Handler消息机制不完全解析
- 正确使用pageX、pageY、offsetLeft、offsetTop
- 统计分析__卡方分布
- Python-flask 使用Markdown和Flask-PageDown支持富文本文章
- 网页底部版权信息如何注明?
- keil调试stm32MCU的时候没有黄色箭头的一个处理办法
- Keras中Conv1D和Conv2D的区别