前端之家收集整理的这篇文章主要介绍了
Swift 读取,处理Json数据,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
原文:http://www.jb51.cc/article/p-wcethism-qx.html
- @H_301_28@/*
-
- "id":"001",
- "name":"xyz",
- "data":["100","220","300","400"]
- }
- */
-
- //从一个本地项目资源中读取data.Json文件
- varpath:String=NSBundle.mainBundle().pathForResource("data",ofType:"Json")!
- varnsUrl=NSURL(fileURLWithPath:path)
- nsData:NSData=NSData(contentsOfURL:nsUrl!)!
-
- //读取Json数据
- varjson:AnyObject?=NSJSONSerialization.JSONObjectWithData(nsData,0); background-color:inherit">options:NSJSONReadingOptions.allZeros,0); background-color:inherit">error:nil)
- //读取普通数据
- id:String=json?.objectForKey("id")asString
- println(id)
- //读取数组类型数据
- array:[String]=json?.objectForKey("data")as[String]
- println(array.count)
copy
//额外的注意事项
ifletname=json?.objectForKey("name"){
//在使用iflet语句的时候,swift会自动进行拆包
println(name)
}
//这个则不会自然拆包
letname1=json?.objectForKey("name")
println(name1)
copy
//简单的Json=》文本转换
vardict=["id":"002","name":"abc"]
varjsonDict=NSJSONSerialization.dataWithJSONObject(dict,0); background-color:inherit">options:NSJSONWritingOptions.allZeros,0); background-color:inherit">error:nil)
//直接写入文件
jsonDict?.writeToFile("/正确路径/test.json",0); background-color:inherit">atomically:true)
//也可以把Json转换为String字符串
varstr=NSString(data:jsonDict!,encoding:NSUTF8StringEncoding)