
下面是我解析JSON的方法
var apiUrl = NSURL(string: "http://127.0.0.1/api.php")
var apiData = NSData.dataWithContentsOfURL(apiUrl, options: NSDataReadingOptions.DataReadingUncached, error: nil)
var apiJson = NSJSONSerialization.JSONObjectWithData(apiData, options: NSJSONReadingOptions.AllowFragments, error: nil)http://127.0.0.1/api.php url返回数据。
{
"tit":"服务器",
"loc":[
{
"_name":"北京",
"evn":"funckEvent:"
},{
"_name":"英国",
"evn":"funckEvent:"
},{
"_name":"日本",
"evn":"funckEvent:"
},{
"_name":"发过",
"evn":"funckEvent:"
},{
"_name":"中国",
"evn":"funckEvent:"
}
]
}如何循环json数组?我想循环打印括号{"_name":"中国","evn":"funckEvent:"}的内容。
var loc = apiJson.objectForKey("loc")
发布于 2014-07-29 03:29:54
该代码对我来说非常好(运行一个在‘json.html’处提供确切JSON的JSON服务器;但是,在我指定特定端口(在我的例子中是NSURL(string: "http://127.0.0.1:8000/json.html"))之前,它无法打印。您是否尝试过显式地指定端口?
此外,通过声明一个dataWithContentsofURL变量并将其传入,实际捕获NSError返回的错误可能具有启发意义,如下所示:
var error: NSError?
var apiData = NSData.dataWithContentsOfURL(apiUrl, options: NSDataReadingOptions.DataReadingUncached, error: &error)要在这里循环一个元素,您需要将它转换为一个数组:
var loc = apiJson.objectForKey("loc") as [AnyObject]
for i in loc {
println(i["_name"])
}这将打印:
北京
英国
日本
发过
中国https://stackoverflow.com/questions/25007687
复制相似问题