[{"Date(time)":"2015-12-01","DayOfWeek(time)":"3","Time(time)":"11:38:23","Hour(time)":"11"},
{"Date(time)":"2015-12-02","DayOfWeek(time)":"4","Time(time)":"11:38:23","Hour(time)":"11"},
{"Date(time)":"2015-12-03","DayOfWeek(time)":"5","Time(time)":"12:38:23","Hour(time)":"12"},
{"Date(time)":"2015-12-04","DayOfWeek(time)":"6","Time(time)":"11:38:23","Hour(time)":"11"},
{"Date(time)":"2015-12-05","DayOfWeek(time)":"7","Time(time)":"11:38:23","Hour(time)":"11"}]
以上JSON数组如何解析?是json数组 ,单个的json已经回解析了,下面是解析单个json的方法
var json : AnyObject = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: nil)!
var name: AnyObject? = json[0].objectForKey("name")
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
json没有单个和json数组之分,只有json里是数组还是字典的分别,楼主给出的数据可见该json数据是由一个数组包裹着5个字典组成,解析方法如下:
let resultArray = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: nil) as? Array
resultArray则为包括着5个字典的数组。
还有目前swift2 后 JSONObjectWithData操作需要try catch :
写法1:
var resultDict: NSArray?
do {
resultDict = try NSJSONSerialization.JSONObjectWithData(nonNilData, options: NSJSONReadingOptions.MutableContainers) as? NSArray
} catch {
debugPrint("JSONObjectWithDataError: (error)")
}
写法2:
var resultDict = try? NSJSONSerialization.JSONObjectWithData(nonNilData, options: NSJSONReadingOptions.MutableContainers) as? NSArray
建议json解析完后转换成json的真实类型,不要继续拿着anyObject来使用:
例:如果json为字典 则: let MyDict = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: nil) as? Dictionary
可以用swiftjson这个第三方模块 封装很好
http://www.cocoachina.com/ios/20140921/9703.html
评论
全部评论 (0)